【发布时间】:2012-08-06 14:46:00
【问题描述】:
我想通过在 php 中使用 preg_replace 来突出显示我的关键字搜索文本,但问题是它不适用于括号字符串 ( 和 )
我的函数是这样的……
$text_oritinal = "25 Hours: Colour In White (CD)";
function highlight($text_search, $text_original) {
$str = preg_replace('#'. $text_search .'#i', '<span style="background-color:#FFFF66; color:#FF0000;">\\0</span>', $text_original);
return $str;
}
全文原文为"25 Hours: Colour In White (CD)"
例如。如果我使用关键字
$text_search = "25 Hours: Colour In White";
它返回带有突出显示背景和文本颜色的良好替换关键字。
<span style="background-color:#FFFF66; color:#FF0000;">25 Hours: Colour In White</span> (CD)
但是!如果我使用这个关键字包含括号字符串( 和)
$text_search = "25 Hours: Colour In White (CD)";
它不会返回替换的背景和文本颜色。
我认为它卡在括号字符串 ( 和 )
问题是如何突出显示所有匹配的文本关键字,而括号字符串(和)没有任何问题?
请分享您的想法。谢谢:)
【问题讨论】:
-
编辑时不要删除您的问题。这让问这个问题毫无用处。
-
我会按照您的评论行事。谢谢。
标签: php preg-replace