富文本编辑器中的敏感词替换

/**
 * 富文本编辑器敏感字替换
 * @param html
 * @param keywords
 * @param replacecontents
 * @returns {string}
 */
function replaceContent(html,keywords,replacecontents){
    //匹配html标签中间的内容
    var patt1 = new RegExp(">(.*?)(?=<)","g");
    //每个匹配结果会多一个>比如<p>哈哈</p>,匹配出来会是>哈哈,后面将>进行替换
    var matchStrs = html.match(patt1);
    var words = [];
    //替换>
    for(var i=0;i<matchStrs.length;i++){
        var matchStr = matchStrs[i].substring(1,matchStrs[i].length);
        for(var j=0;j<keywords.length;j++){
            var patt2 = new RegExp(keywords[j],"g");
            matchStr = matchStr.replace(patt2,replacecontents[j]);
        }
        words.push(matchStr);
    }
    // 将html中间的内容进行替换方便后面连接,如将<p>哈哈</p>替换成<p>%s</p>
    var temp = html.replace(patt1,">%s");
    //将拆分出来的标签按顺序和替换敏感字后的中间内容进行连接
    var arr = temp.split("%s");
    var finalStr = "";
    for(var i=0;i<(arr.length-1);i++){
        finalStr += arr[i] + words[i];
    }
    return finalStr;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值