zoukankan      html  css  js  c++  java
  • js实现关键词高亮显示 正则匹配

    html 和ajax 部分就不写了,只需将需要匹配的文字传进去就可以了  

    比如匹配后台传回的字符串data.content中的关键词:直接调用:

    data.content = highLightKeywords(data.content,keywords)即可

     以下两个函数分辨是匹配1:匹配关键词words中每一个字符,2:匹配整个关键词words

    //高亮关键字 text =>内容  words:关键词   tag 被包裹的标签
    
    //匹配每一个关键字字符
    function highLightKeywords(text, words, tag) {
    tag = tag || 'span';// 默认的标签,如果没有指定,使用span
    var i, len = words.length, re;
    
    for (i = 0; i < len; i++) {
    // 正则匹配所有的文本
    re = new RegExp(words[i], 'g');
    if (re.test(text)) {
    text = text.replace(re, '<'+ tag +' class="highlight">$&</'+ tag +'>');
    }
    }
    }
    return text;
    }
    海纳百川,有容乃大;壁立千仞,无欲则刚。人要有胸怀方能成大事,不要被欲望所驱使,方能风吹不动浪打不摇。 不积跬步无以至千里,不积小流无以成江海。从事技术工作,要时刻学习积累,即使不能一专多能也应术业有专攻,方能以不变应万变。
  • 相关阅读:
    断开/删除 SVN 链接(.svn)的几种方法
    Android 中 ListView 常用属性合集
    Android 中 GridView 常用属性合集
    LeetCode-387-字符串中的第一个唯一字符
    LeetCode-374-猜数字大小
    LeetCode-290-单词规律
    LeetCode-278-第一个错误的版本
    LeetCode-383-赎金信
    LeetCode-367-有效的完全平方数
    LeetCode-350-两个数组的交集 II
  • 原文地址:https://www.cnblogs.com/websharehome/p/7998931.html
Copyright © 2011-2022 走看看