JS实现HTM搜索关键词高亮显示

如何利用JS实现HTML搜索关键词高亮显示呢?

 一、程序案例代码

<!DOCTYPE html>
<html lang=”en”>
 
<head>
    <meta charset=”UTF-8″>
    <meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
    <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
    <title>JS实现HTM搜索关键词高亮显示</title>
    <style>
        .search {
            color: red;
        }
    </style>
</head>
 
<body>
    <div ></div>
</body>
<script >
    // JS实现HTM搜索关键词高亮显示
    /**
     * kw:搜索关键词
     * text:待匹配的文本
     **/
    function redKeywords(kw, text) {
        var reg = /<script[^>]*>(.|n)*</script>/gi; //去掉script标签 
        text = text.replace(reg, “”);
        var num = -1;
        var kwReg = new RegExp(kw, “gi”); //匹配传入的搜索值不区分大小写 i表示不区分大小写,g表示全局搜索
        var htmlReg = new RegExp(“<.*?>”, “ig”); //匹配html元素
        var aHtml = text.match(htmlReg); //存放html元素的数组
        var arr = text.match(kwReg);
        a = -1;
        text = text.replace(htmlReg, ‘{~}’); //替换html标签
        text = text.replace(kwReg, function () {
            a++;
            return “<span class=’search’>” + arr[a] + “</span>”
        }); //替换key
        text = text.replace(/{~}/g, function () { //恢复html标签
            num++;
            return aHtml[num];
        });
        return text;
    }
    document.getElementById(“demo”).innerHTML = redKeywords(“随机森林”, “作为新兴起的、高度灵活的一种机器学习算法,随机森林(Random Forest,简称RF)拥有广泛的应用前景,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易感性。最近几年的国内外大赛,包括2013年百度校园电影推荐系统大赛、2014年阿里巴巴天池大数据竞赛以及Kaggle数据科学竞赛,参赛者对随机森林的使用占有相当高的比例。所以可以看出,Random Forest在准确率方面还是相当有优势的。”)
</script>
 
</html>

二、程序运行效果

 

0

评论0

请先
显示验证码
没有账号?注册  忘记密码?