js通过正则匹配没有内容的空标签
(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )
js 如何正则匹配没有内容的空标签并移除掉"htmlcode">
html='<div id="fixedTools" class="hidden-xs hidden-sm">'+ '\n <a id="backtop" class="hidden border-bottom" href="#" rel="external nofollow" ></a>'+ '\n'+ '\n <div class="qrcodeWraper">'+ '\n <a href="/app#qrcode" rel="external nofollow" ><span class="glyphicon glyphicon-qrcode"></span></a>'+ '\n <img id="qrcode" class="border" alt="sf-wechat" src="/UploadFiles/2021-04-02/appQrcode.png">如果考虑将没有style的span去掉
有span的就留下来
因为默认编辑器中,span没有样式的没有必要
str=str.replace(/<span\s*"$1");
先看下面的位置
零宽断言
接下来的四个用于查找在某些内容(但并不包括这些内容)之前或之后的东西,也就是说它们像\b,^,$那样用于指定一个位置,这个位置应该满足一定的条件(即断言),因此它们也被称为零宽断言。最好还是拿例子来说明吧:断言用来声明一个应该为真的事实。正则表达式中只有当断言为真时才会继续进行匹配。
("htmlcode">
//加强替换主要是考虑多个br的问题 function doRepAdvance(s){ var str=s.replace(/<p><br type="_moz">\s*""); str=str.replace(/<p>\s*<br type="_moz">\s*<\/p>/ig, ""); str=str.replace(/<p>\s*""); str=str.replace(/<p>(\s|\ \;| | |\xc2\xa0)*<\/p>/ig, ""); str=str.replace(/<p>\s*""); str=str.replace(/<p> <\/p>/ig,""); str=str.replace(/<br type="_moz">\n <\/p>/ig, "</p>"); str=str.replace(/<br type="_moz">\s*"</p>"); str=str.replace(/<br\s"</p>"); str=str.replace(/<br \/>\n <\/p>/ig, "</p>"); str=str.replace(/<br>\n <\/p>/ig, "</p>"); //多个br str=str.replace(/(<br type="_moz">\s*)+<\/p>/ig, "</p>"); str=str.replace(/(<br\s"</p>"); //空标签 str=str.replace(/<p style=["'].[^<>]*["']>/ig, "<p>"); str=str.replace(/<span style="background-color: initial;">/ig, "<span>"); //没有style的span去掉 str=str.replace(/<span\s*"$1"); str=str.replace(/<([a-z]+""); //str=str.replace(/<([a-z]+""); return str; }上面都是一些好东西,具体的自己研究吧。
下一篇:js处理网页编辑器转义、去除转义、去除HTML标签的正则