分享

PHP中如何高亮显示搜索结果中的关键字

 昵称4995595 2011-05-09
在写一通过SPHINX开源搜索出来的结果集中,对其搜索关键字高亮显示
php版代码:
function highLight($str, $keywords, $color = "red") {
if (empty($keywords)) {
return $str;
}
$keywords = split("[ \t\r\n,]+", $keywords);
foreach($keywords as $val) {
$tvar = eregi($val, $str, $regs);
$finalrep = "<font color=". $color . ">" . $regs[0] . "</font>";
}
$str = str_ireplace($regs[0], $finalrep, $str);
return $str; }

上面代码中的$keywords = split("[ \t\r\n,]+", $keywords);一句是分割搜索关键字,比如你可以自己修改成你的分割格式

JS版代码:

function highLight(str,key,color)
{ keyE=key.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/\"/g,"\\\"").replace(/\’/g,"\\\’").replace(/\r/g,"\\r").replace(/\n/g,"\\n"); return(str.replace(eval("\/(>.*)"+keyE+"(.*<)\/gi"),"$1"+key.fontcolor(color)+"$2"));
} 
strS="<li><a href=\"/news/20041025114305.htm\">华北院召开2004年三季度工作总结会议</a></li>";
document.write(highLight(strS,"2004","red"));

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多