删除以特定字母/字符php开头的单词

时间:2012-07-28 02:27:38

标签: php regex

这是一个简单的例子:

$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” 有什么想法吗?

4 个答案:

答案 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);

注意:我没有尝试过,所以我的正则表达式可能有些缺陷。