检索结果高亮显示关键词的函数

原创
2016-06-21 09:08:22 682浏览

高亮显示|函数|显示|高亮

如:要检索abc,结果显示akjdfdkcdb,如何才能让其中的abc显示为红色。

函数如下:

function highLight($str, $keywords, $color = "red") {
if (empty($keywords)) {
return $str;
}
$keywords = split("[ \t\r\n,]+", $keywords);
$str_begin = "##~~##~";
$str_end = "~##~~##";
foreach($keywords as $val) {
$tvar = preg_quote($val);
$tvar = str_replace('//m.sbmmt.com/m/', '\/', $tvar);
$patterns[] = "/(" . $tvar . ")/";
$replacement[] = $str_begin . urlencode($val) . $str_end;
$tvar = preg_quote(urlencode($val));
$tvar = str_replace('//m.sbmmt.com/m/', '\/', $tvar);
$tmppattern[] = "/(" . $str_begin . $tvar . $str_end . ")/";
$finalrep[] = "" . $val . "";
}
$str = preg_replace($patterns, $replacement, $str);
$str = preg_replace($tmppattern, $finalrep, $str);
return $str;
}



声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。