强调所有关键字的一个字符串
问题描述:
我创建了一个代码如下:强调所有关键字的一个字符串
$replace = preg_replace("/($A)/","<b>$A</b>",$search);
$output .= '<div>'.$replace.'</div>';
print("$output")
- $ A =关键字在我的数据库
- $搜索匹配的条目=词组输入的搜索
我现在得到的结果是突出显示匹配关键字的短语与div框独立显示。下面是一个例子(假设 “ABCDE” 是我搜索短语, “AB” 和 “E” 是匹配的关键字):
- AB CDE。
- ABCD E。
是否可以突出显示一个div框中的字符串中的所有匹配关键字?就像这样:
- AB CD ê。
答
如果你想为几个元素的替代品,使用preg_replace_callback:
function makeBold($match) {
return "<b>" . $match[0] . "</b>";
}
$pattern = "/[ABE]/";
$str = "ABCDE";
$output = preg_replace_callback($pattern, "makeBold", $str);
echo $output;
关键字是一个数组或简单字符,或者有些话昏迷分开吗? – 2015-06-20 18:27:23