php,如何在mysql数据库中搜索和替换?

时间:2011-06-08 06:12:34

标签: php mysql database

我正在尝试在数据库中搜索字符串<strong>some text here</strong> 并将其替换为s<strong>ome text here</strong>

基本上找到第一个<strong>然后找到第一个character并将其放在<strong>

前面

可能会使用类似here

的内容

这够复杂吗? :)

感谢

2 个答案:

答案 0 :(得分:2)

MySQL中没有regexp替换支持,所以你必须在PHP中进行替换,然后进行更新(或者为MySQL实现某种UDF,参见How to do a regular expression replace in 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);
}

答案 1 :(得分:-1)

你会使用类似的东西:

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