2011-06-08 85 views
1

我試圖尋找我的數據庫的字符串<strong>some text here</strong>s<strong>ome text here</strong>php,如何在mysql數據庫中進行搜索和替換?

取代它基本上找到的第一個<strong>然後找到第一character,並將其放置在的<strong>

前面說不定也使用類似here

這是否夠複雜? :)

感謝

+2

夠複雜了什麼? – 2011-06-08 06:15:51

+0

[php/mysql搜索並替換一個句子的部分]的可能重複(http://stackoverflow.com/questions/5471767/php-mysql-search-and-replace-a-parts-of-a-sentence) – 2011-06-08 06:17:36

回答

2

沒有正則表達式在MySQL替代的支持,所以你就必須做在PHP中替換,然後做了更新(或實現某種用於MySQL的UDF,請參閱How to do a regular expression replace in MySQL?)。

在PHP中,你會使用類似(取所有行到$行集後):

foreach($rowset as $row) { 
    $replacement=preg_replace('/<strong>(.)/','\1<strong>',$row->fieldname,1); 
    myDBCall('update mytable set myfield="'.$replacement.'" where someid='.$row->someid); 
} 
-1

你會使用這樣的:

update `table` set `fieldname` = replace(`fieldname`,'string_to_find','string_to_replace_with')