2009-08-03 140 views
0

我知道这很容易,我自己做了一百万次;但这一天晚了,我脑筋急转弯。preg_replace PHP

我试图匹配并替换整个单词而不是每次出现。

所以,我想替换单词“我”的每一次出现,并包含“xxx”

如更换它。 “我遇到的SMEG”变成了“XXX符合SMEG”

我不想要的是:

“我满足SMEG”变成了“XXX xxxets sxxg”

我知道它的preg_match但我就是”不要忘记整个单词的模式匹配。

请帮忙

奥利弗。

回答

0

试试下面的正则表达式:

$replaced = preg_replace('/\bme\b/i', 'xxx', $subject); 

\b是在PCRE Reference中定义的字边界

1

您使用\b字边界。

$str = preg_replace('/\bMe\b/', 'xx', $str); 

对于不区分大小写,使用i修改:

$str = preg_replace('/\bme\b/i', 'xx', $str); 
2

单词边界字符

$output = preg_replace("/\\bme\\b/", 'xxx', $input); 
4
$replaced = preg_replace('/\bme\b/i','xxx',$phrase);