php, как искать и заменять в базе данных mysql? - PullRequest
1 голос
/ 08 июня 2011

Я пытаюсь найти в моей базе данных строку <strong>some text here</strong> и заменить ее на s<strong>ome text here</strong>

, в основном найти первое <strong>, затем найти первое character и поместить его перед<strong>

может использовать что-то вроде здесь

Достаточно ли это сложно?:)

спасибо

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

В MySQL нет поддержки замены regexp, поэтому вам придется выполнить замену в PHP, а затем выполнить обновление (или реализовать какую-то UDF для MySQL, см. Как заменить регулярное выражение в MySQL ).

В PHP вы будете использовать что-то вроде (после извлечения всех строк в $ rowset):

foreach($rowset as $row) {
  $replacement=preg_replace('/<strong>(.)/','\1<strong>',$row->fieldname,1);
  myDBCall('update mytable set myfield="'.$replacement.'" where someid='.$row->someid);
}
0 голосов
/ 08 июня 2011

Вы бы использовали что-то вроде:

update `table` set `fieldname` = replace(`fieldname`,'string_to_find','string_to_replace_with')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...