正则表达式字符串替换大写和小写

时间:2016-01-04 13:21:37

标签: php regex string match uppercase

鉴于以下简单函数(对于PHP页面),我试图匹配长文本字符串中单词$marker的所有出现。我需要强调它的出现。 该功能有效,但它提出了两个问题:

1)它无法匹配$marker

的大写出现

2)它也匹配部分出现:如果$ marker是" art ",该函数也匹配" 艺术"和" 购物车"。

如何纠正这两个不便之处?

function highlightWords($string, $marker){
$string = str_replace($marker, "<span class='highlight success'>".$marker."</span>", $string);
return $string;
}

1 个答案:

答案 0 :(得分:3)

要解决这两个问题,您可以将line 3与正则表达式一起使用。只需添加preg_replace()以进行不区分大小写的搜索,并在搜索字词周围添加i flag,这样就不能将其作为其他字词的一部分,例如。

{{1}}