替换mysql中的单词



我想用PHP &MySQL。

用于例如-

数据库中的text列包含值"Word1 word2 word3 word4 word5 word3"。

我想把"word3"one_answers"word4"替换为"newword"。挑战在于不要替换最后一个也是"word3"的单词

有什么建议吗?

您可以使用通配符和控制符号来替换%word%或%wo。D %相同的方式,如果达到一定数量的符号,您可以停止替换

您可以使用这个PHP脚本将"word3"one_answers"word4"替换为"newword"

& lt; ?php

$ arr =数组("word1 word2,"word3"、"word4"、"经常"、"word3"、"word4");

print_r (str_replace("word3"、"newword arr美元,美元我));

print_r (str_replace("word4"、"newword arr美元,美元我));

echo " replacement: $i";div ?>

PHP中:

<?php
$mystr = "Word1 word2 word3 word4 word5 word3";
$mywords = explode(' ', $mystr);
for ($i = 0; $i < count($mywords)-1; $i++) {
  if ($mywords[$i] == 'word3' || $mywords[$i] == 'word4') {
    $mywords[$i] = 'newword';
  }
}
$newstr = implode(' ', $mywords);
print("newstr = $newstr");
?>

这将单词分割成一个数组,用newword 替换所有的word3word4,除了数组的最后一个元素,然后将单词连接回一个字符串。输出如预期:

Word1 word2 newword newword word5 word3

MySQL:

UPDATE `tableName`
SET `field` = REPLACE( ' word3 ', ' newword ', REPLACE(' word4 ', ' newword ', `field`) );

注意word3word4前后的额外空格。


基于注释:

UPDATE `tableName`
SET `field` = TRIM( REPLACE(' word3 word4 ', ' newword ', CONCAT( ' ', `field` )) );

相关内容

  • 没有找到相关文章

最新更新