1

我想知道在 php 中查找和替换单词的最佳方法,具体取决于大写和小写。

我实际上有:

$chain = "My long chain";
$keyword = "My";
str_replace($keyword, "<span class='highlight1'>".$keyword."</span>", $chain);

它适用于My但不适用于myor MY

请问该怎么做?

谢谢。

4

1 回答 1

4

如果您只想规范某个单词/表达式的所有形式,请使用str_ireplace进行不区分大小写的替换。实际上,PHP 中的许多字符串函数都有不区分大小写的兄弟姐妹 -i在它们的名称中添加到“动作部分”之前。

如果要保留原始大小写,请使用preg_replace和不区分大小写修饰符:

$pattern = preg_quote($keyword);
$result  = preg_replace("/($pattern)/i", 
  '<span class="highlight">$1</span>', $chain);

演示(我已替换classstyle更清晰的演示)。请注意,即使$1此处的 expr 在单引号文字中,它仍然是插值的。

于 2013-09-15T23:52:02.707 回答