您的位置:首页 > 其它

[正则表达式]如何高亮显示搜索关键字

2008-07-29 06:13 826 查看
问题发生在站内搜索,

比如,以“2004”为关键字,查到的结果为:

<li><a href="/news/20041025114305.htm">华北院召开2004年三季度工作总结会议</a></li>

现欲将其中的关键字“2004”替换为红色:

<li><a href="/news/20041025114305.htm">华北院召开<font color=red>2004</font>年三季度工作总结会议</a></li>

当然,网址中的“/news/2004......”是不能替换的。

这个处理过程由客户端的JavaScript来完成(不能由服务器来完成。)
区分大小写

//(注意:关键字不能包含[].*\/{}等特殊字符)

<script>

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"));

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: