我知道这很容易,我自己做了一百万次;但这一天晚了,我脑筋急转弯。preg_replace PHP
我试图匹配并替换整个单词而不是每次出现。
所以,我想替换单词“我”的每一次出现,并包含“xxx”
如更换它。 “我遇到的SMEG”变成了“XXX符合SMEG”
我不想要的是:
“我满足SMEG”变成了“XXX xxxets sxxg”
我知道它的preg_match但我就是”不要忘记整个单词的模式匹配。
请帮忙
奥利弗。
我知道这很容易,我自己做了一百万次;但这一天晚了,我脑筋急转弯。preg_replace PHP
我试图匹配并替换整个单词而不是每次出现。
所以,我想替换单词“我”的每一次出现,并包含“xxx”
如更换它。 “我遇到的SMEG”变成了“XXX符合SMEG”
我不想要的是:
“我满足SMEG”变成了“XXX xxxets sxxg”
我知道它的preg_match但我就是”不要忘记整个单词的模式匹配。
请帮忙
奥利弗。
\b matches a word boundary,所以像/\bMe\b/
(或/\bme\b/i
不区分大小写)应该给你你想要的正则表达式!
您使用\b
字边界。
$str = preg_replace('/\bMe\b/', 'xx', $str);
对于不区分大小写,使用i
修改:
$str = preg_replace('/\bme\b/i', 'xx', $str);
单词边界字符
$output = preg_replace("/\\bme\\b/", 'xxx', $input);
$replaced = preg_replace('/\bme\b/i','xxx',$phrase);