2009-08-03 137 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);