我正在尝试在数据库中搜索字符串<strong>some text here</strong>
并将其替换为s<strong>ome text here</strong>
基本上找到第一个<strong>
然后找到第一个character
并将其放在<strong>
可能会使用类似here
的内容这够复杂吗? :)
感谢
答案 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')