[JS]在js中进行正则替换显示高亮处理中,重复替换问题,可以使用js自带的批量替换,则不会重复替换

Posted hhao321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JS]在js中进行正则替换显示高亮处理中,重复替换问题,可以使用js自带的批量替换,则不会重复替换相关的知识,希望对你有一定的参考价值。

//js高亮显示

function highlight(){
    if($.trim($(‘#pscws‘).val()) != ‘‘){
        var url = $("#analysis_url").val();
        $.ajax({
            url:url,
            data:{words:$(‘#pscws‘).val()},
            dataType:‘json‘,
            type:‘POST‘,
            success:function (json) {
                if(json.status == 1 && json.data.length > 0){
                    var _key_word_str = json.data.join(‘|‘);//将要替换的词的数组组合成一个正则方式
                    $(".sEvent li strong>a,.sEvent li .tLDWords>em").each(function() {
                        var html=$(this).html();
                        var newhtml = html.replace(new RegExp(_key_word_str,‘gi‘), "<em class=\"wResult\">$&</em>");//执行js的批量替换,不会重复替换关键词
                        $(this).html(newhtml);
                    });
                }
            }
        });
    }
};





















以上是关于[JS]在js中进行正则替换显示高亮处理中,重复替换问题,可以使用js自带的批量替换,则不会重复替换的主要内容,如果未能解决你的问题,请参考以下文章

编辑器是如何在搜索关键字时全文相对应的关键字高亮

在js中,如何替换一个文本中的多个字符?

vue搜索实现 搜索关键字高亮

arcgis api for js实现点击文字内容获取所对应的点高亮显示。

有没有js、jquery插件或者flash插件,可以对图片进行多个区域的高亮显示(遮罩显示)?

JS正则表达式的基础用法