PHP,字符串搜索中的匹配大小写

时间:2010-11-05 18:04:56

标签: php str-replace

我一直遇到str_replace函数的问题,如果我尝试替换单词'quote',它也会替换'quoted'这个词的匹配部分,这是不合需要的。

有什么建议吗?

我正在使用词汇表文件来获取单词并将其传递给数组。 然后打开一个html文件,我需要用词汇表单词调制..

3 个答案:

答案 0 :(得分:3)

您可以将preg_replace与带有字边界的正则表达式一起使用:

$output = preg_replace('/\b'.preg_quote($word, '/').'\b/', 'replacement', $str);

这里\b是字边界断言。因此$word的值仅在$str中出现前后字边界时才会被替换。

答案 1 :(得分:0)

您将能够更加具体地使用preg_replace:

http://php.net/manual/en/function.preg-replace.php

答案 2 :(得分:0)

如果需要更新上下文,则需要使用preg_replace()的replace()的正则表达式版本。

echo str_replace("quote", "NEWSTRING", $src_text);

echo preg_replace("/quote\b/", "NEWSTRING", $src_text);