我创建了这个表达式来删除页面中所有空的(包含空格的标签)标签。
$content = preg_replace('/<[^\/>]*>([\s]?)*<\/[^>]*>/', '', $content);
它必须处理这样的内容才能得到很好的待遇......
<blockquote>
<p >foo bar</p>
</blockquote>
<p ><a href="image.jpg" rel="lightbox" title=""><img title="image" src="image.jpg" /></a><br /></p>
并将其输出为......
<blockquote>
<p >this is a test for the pluggin</p>
<p ><a href="image.jpg" rel="lightbox" title=""><img title="image" src="image.jpg" /></a><br /></p>
因此删除了</blockquote>
。
我一直在摸不着头脑,无法让它发挥作用。任何人都可以看到一个明显的解决方案,除了指定它应格式化的标签我还应该说它是在wordpress帖子上格式化'the_content'。
答案 0 :(得分:3)
正则表达式和HTML不是很好的匹配,因为HTML不是常规语法,并且没有结束边缘情况和陷阱。最好使用诸如this one之类的HTML解析器并检查/操作DOM对象。
答案 1 :(得分:0)
您可能还想看看HTML Purifier,它比Simple HTML Dom更先进,如果您发现它没有获得所有标签。