preg_replace PHP

时间:2009-08-03 17:32:13

标签: php regex

我知道这很容易,我自己做了一百万次;但是现在已经很晚了,我的脑子已经崩溃了。

我正在尝试匹配并替换整个单词,而不是每次出现。

所以,我想替换“我”这个词的每个出现,并用'xxx'代替

IE中。 '我遇到涂抹'变成'xxx遇到涂抹'

我不想要的是:

'我遇到涂抹'成为'xxx xxxets sxxg'

我知道它是preg_match,但我不记得整个单词的模式匹配。

请帮忙

奥利弗。

5 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

单词边界字符

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

答案 2 :(得分:1)

\b matches a word boundary,因此/\bMe\b/(或/\bme\b/i不区分大小写)应该为您提供所需的正则表达式!

答案 3 :(得分:1)

您使用\b字边界。

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

对于不区分大小写的情况,请使用i修饰符:

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

答案 4 :(得分:0)

尝试以下正则表达式:

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

\bPCRE Reference中定义的字边界