[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);
                    });
                }
            }
        });
    }
};

posted @ 2018-01-18 11:37  hhao321  阅读(220)  评论(0编辑  收藏  举报