zoukankan      html  css  js  c++  java
  • [正则表达式]如何高亮显示搜索关键字

    问题发生在站内搜索,
    比如,以“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>
  • 相关阅读:
    MySQL 数据库主从复制架构
    程序员的双十一
    MySQL 数据库事务与复制
    十字路口的程序员
    瞬息之间与时间之门
    HDFS 与 GFS 的设计差异
    HDFS 异常处理与恢复
    HDFS Client 设计实现解析
    HDFS DataNode 设计实现解析
    HDFS NameNode 设计实现解析
  • 原文地址:https://www.cnblogs.com/chengulv/p/1255189.html
Copyright © 2011-2022 走看看