picturesky518 2021-09-27 15:04 采纳率: 100%
浏览 213
已结题

搜索html中指定的字符串,搜索范围排除a,img标签

求一正则表达式:搜索html中指定的字符串并替换成其它字符串,搜索范围排除a,img标签,如下图

img


所示,查找湿气两个字并替换成其它字,搜索时排除红圈中的湿气字样(不管整个a标签或img标签中有没有湿气这个词都不在搜索范围),其它内容不变,不能把a、img标签删除了。请高人帮指点下谢谢。

  • 写回答

9条回答 默认 最新

  • 关注

    你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

    let str = `<p>查找湿气两个字 <img src="images/testing.jpg" alt="湿气" /> 查找湿气两个字 <a href="http://xxxxxx/" title="" target="_blank">查找湿气两个字</a> <span class="test">查找湿气两个字</span> 查找湿气两个字</p>
    `;
    var arr = [];
    str = str.replace(/<img\s+[\S\s]*?>|<(a)\s+[\S\s]*?>[\S\s]*?<\/\1>/ig,function (s) {
        var r = "@_"+arr.length+"_@";
        arr.push(s);
        return r;
    });
    str = str.replace(/湿气/ig,"【替换】");
    str = str.replace(/@_(\d+)_@/ig,function (s,a) {
        return arr[parseInt(a, 10)];
    });
    console.log(str);
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 10月9日
  • 已采纳回答 10月1日
  • 修改了问题 9月28日
  • 修改了问题 9月28日
  • 展开全部