Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “预”替换为“预”;字;在一句话中加上;字;在句末_Php_Regex_Preg Replace - Fatal编程技术网

Php “预”替换为“预”;字;在一句话中加上;字;在句末

Php “预”替换为“预”;字;在一句话中加上;字;在句末,php,regex,preg-replace,Php,Regex,Preg Replace,我想用PHP替换“Word” 到目前为止,这是可行的。但是,如果句子是“我向你保证。”或“我向你保证!”它不会将“保证”改为“心”。不确定问题出在哪里。对我有用 <? $ret = 'I gave my Word to you Word.'; $pattern = '/\bWord\b/i'; $ret = preg_replace($pattern,"Heart",$ret); var_dump($ret); ?> “我把我的心给了你。”不确定

我想用PHP替换“Word”


到目前为止,这是可行的。但是,如果句子是“我向你保证。”或“我向你保证!”它不会将“保证”改为“心”。

不确定问题出在哪里。对我有用

<?
    $ret = 'I gave my Word to you Word.';
    $pattern = '/\bWord\b/i';
    $ret = preg_replace($pattern,"Heart",$ret);
    var_dump($ret);
?>


“我把我的心给了你。”

不确定问题出在哪里。对我有用

<?
    $ret = 'I gave my Word to you Word.';
    $pattern = '/\bWord\b/i';
    $ret = preg_replace($pattern,"Heart",$ret);
    var_dump($ret);
?>


string(29)“我把我的心给了你。”

。如果它是如此简单的替换,也许
str\u replace
比正则表达式快。@Fanis:
str\u replace
不会检测单词边界。@KennyTM你完全正确,我站得住脚了。如果是这样一个简单的替换,
str\u replace
可能比正则表达式快。@Fanis:
str\u replace
不会检测单词边界。@KennyTM你说得对,我站得住脚了。除此之外,\b单词边界与[a-zA-Z0-9]字符匹配。嗯,当我把它放在一个php文件中时,它可以正常工作,而在我的其他代码中则不行。也许问题出在其他代码中。感谢迄今为止开放我的视野添加到这个,\b单词边界匹配单词与[a-zA-Z0-9_u2;]字符。嗯,当我把它放在一个php文件中时,它工作了,在我的其他代码中没有。也许问题出在其他代码中。谢谢你让我睁开眼睛