javascript - js 如何正则匹配没有内容的空标签并移除掉?

查看:103
本文介绍了javascript - js 如何正则匹配没有内容的空标签并移除掉?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

js 如何正则匹配没有内容的空标签并移除掉?

html = "<p><b>小故事:两个人的任务</b></p>
<p><b>sdfsdfsdfsf</b></p>
<p><b>sdfsdfadfasff</b></p>
<p><b>两人听到这个声音,苦逼的相视一笑,之后便异口同声的说道,头儿,有事儿您说话</b></p>
<p><b> </b></p>
<p><b><b>来源:左潇龙 - 博客园</b></b></p>
<p><b> </b></p>
<p><b><b>链接:<a href="http://www.cnblogs.com/zuoxiaolong/p/4435486.html">http://www.cnblogs.com/zuoxiaolong/p/4435486.html</a></b><b>(点击尾部阅读原文前往)</b></b></p>
<p><b>2016-11-0716:31:02否</b><b><br></b></p>
<p></p>
<blockquote><b>《宁夏》梁静茹</b></blockquote><p style="text-align: justify;">初三盛夏,班里非常有才的一哥们,写了一篇作文《宁夏》。我记得那天语文课上,语文老师专门念了他的文。</p>
<p></p>
<blockquote><b>《宁夏》梁静茹</b></blockquote><p style="text-align: justify;">初三盛夏,班里非常有才的一哥们,写了一篇作文《宁夏》。我记得那天语文课上,语文老师专门念了他的文。</p>
";

补充答案:

var content = html;
var reg = /<([a-z]+?)(?:\s+?[^>]*?)?>\s*?<\/\1>/ig;
while (reg.test(content)) {
    content = content.replace(reg,"");
}

解决方案

/<([a-z]+?)(?:\s+?[^>]*?)?>\s*?<\/\1>/ig

html='<div id="fixedTools" class="hidden-xs hidden-sm">'+
'\n    <a id="backtop" class="hidden border-bottom" href="#"></a>'+
'\n'+
'\n    <div class="qrcodeWraper">'+
'\n        <a href="/app#qrcode"><span class="glyphicon glyphicon-qrcode"></span></a>'+
'\n        <img id="qrcode" class="border" alt="sf-wechat" src="https://sf-static.b0.upaiyun.com/v-581fe7b0/page/img/app/appQrcode.png">'+
'\n'+
'\n        <p class="qrcode-text"></p>'+
'\n    </div>'+
'\n</div>'

ptn=/<([a-z]+?)(?:\s+?[^>]*?)?>\s*?<\/\1>/ig
s = html.replace(ptn,'')
console.log(s)

这篇关于javascript - js 如何正则匹配没有内容的空标签并移除掉?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆