我的文字:
bob有message123,alice有消息
我想:
bob有newmessage,alice有newmessage
我目前的代码是:
$fullText= str_replace("message123", "newmessage", $fulltext);
$fullText= str_replace("message", "newmessage", $fulltext);
但它变成了:
bob有newnewmessage,alice有newmessage
答案 0 :(得分:1)
您可以随时使用preg_replace。
在这种情况下:
$fullText=preg_replace("/\bmessage[0-9]*/", "newmessage", $fullText);
将替换message,message1,message2等。
答案 1 :(得分:0)
对于最简单的解决方案,您只需添加空格:
$fullText= str_replace(" message1 ", " newmessage ", $fulltext);
$fullText= str_replace(" message ", " newmessage ", $fulltext);
或使用多针:
$fullText = str_replace(array(' message1 ', ' message '), array(' newmessage ', ' newmessage '), $fullText);
答案 2 :(得分:0)
使用strtr()函数 - 它不会再次传递已经替换的东西:
$fullText = 'bob have message1 and alice has message without 1.';
$fullText = strtr( $fullText, array(
"message1" => "newmessage",
"message" => "newmessage" ) );