如何使用 php 删除带有空文本节点的标签?
例如,
<div class="box"></div>
消除
<a href="#"></a>
消除
<p><a href="#"></a></p>
消除
<span style="..."></span>
消除
但我想用这样的文本节点保留标签,
<a href="#">link</a>
保持
编辑:
我也想删除这种乱七八糟的东西,
<p><strong><a href="http://xx.org.uk/dartmoor-arts"></a></strong></p>
<p><strong><a href="http://xx.org.uk/depw"></a></strong></p>
<p><strong><a href="http://xx.org.uk/devon-guild-of-craftsmen"></a></strong></p>
我在下面测试了两个正则表达式,
$content = preg_replace('!<(.*?)[^>]*>\s*</\1>!','',$content);
$content = preg_replace('%<(.*?)[^>]*>\\s*</\\1>%', '', $content);
但他们会留下这样的东西,
<p><strong></strong></p>
<p><strong></strong></p>
<p><strong></strong></p>