This question already has an answer here:
How to find a whole word in a string in PHP without accidental matches?

(1个答案)


2年前关闭。





我正在使用下面的代码替换她和他。

 $string = 'The quick he fox jumps over the lazy dog.';
  $patterns = array();
$patterns[0] = '/he/';
//$patterns[1] = '/brown/';
//$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'she';
//$replacements[1] = 'black';
//$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);


但是它在执行后返回以下字符串

Tshe quick she fox jumps over tshe lazy dog.


因此,问题在于它也将“ the”转换为“ tshe”,我只想替换单独的单词(如He),而不是单词的一部分
(不喜欢)。

最佳答案

您是否尝试过空间?像$patterns[0] = '/ he /';

这是您的解决方案。

10-03 00:22