正则表达式删除空html标签,只包含空子
我需要解析一个HTML字符串并删除所有只包含空子元素的元素。
例:
不包含任何信息,必须替换为
我写了一个像这样的正则表达式:
]*>(]*>\s*)*
但问题是它只捕获了三个中的两个级别。 在abobe示例中,未选择
元素(最外面的元素)。
你能帮我解决这个正则表达式吗?
这个正则表达式似乎有效:
/(<(?!\/)[^>]+>)+(<\/[^>]+>)+/
查看您的示例的现场演示 。
使用jQuery并解析所有孩子。 对于每个孩子,您必须检查.html()是否为空。 如果是 – >使用.remove()删除当前元素(或者如果需要,删除父元素)。
为每个字符串做:
var appended = $('.yourparent').append('YOUR HTML STRING'); appended.children().each(function () { if(this.html() === '') { this.parent().remove(); } });
如果有空子项,这将首先添加项目并删除。