这是一个简单的例子:
$correction = "game";
$text ="Hello this is an example of a $word that starts with a $dollar sign";
$text = str_replace("\$word",$correct,$text);
如果我回复$ text,它会说:你好,这是一个以美元符号开头的游戏的例子。工作得很好。 现在我希望能够将以美元符号开头的任何单词更改为游戏 所以它会改变以$开头的所有单词并将它们变成单词“game” 有什么想法吗?
答案 0 :(得分:5)
一个简单的正则表达式可以解决这个问题:
$text = preg_replace("#\$[^\b\s]+#", $correction, $text);
答案 1 :(得分:2)
你需要一个正则表达式:
$text = preg_replace( '/\$[a-z]+/i', 'game', $text);
答案 2 :(得分:1)
使用正则表达式和preg_replace
$correction = "game";
$text ="Hello this is an example of a \$word that starts with a \$dollar sign";
$text = preg_replace('/\$\w+/', $correction, $text);
print $text;
答案 3 :(得分:1)
像这样:
preg_replace("/(\w*)$([a-z]+)/i", "$1$correction", $text);
注意:我没有尝试过,所以我的正则表达式可能有些缺陷。