【发布时间】:2015-05-13 19:11:33
【问题描述】:
我正在寻找一种方法来摆脱一些嵌套的 html 标记,并且已经花了一些时间寻找正确的方法。 因为我已经在使用 HTML Purifier,所以我想找到一种使用它的方法,但也知道其他可能的解决方案(例如,在 PHP 中使用正则表达式的正确方法)会很棒:)
这是我拥有的 HTML 结构的示例:
<p><span><span>SOME TEXT</span></span></p>
<table><tbody><tr>
<td><span><span>SOME TEXT</span></span><span>SOME MORE TEXT</span></td>
<td><div><span><span>SOME TEXT</span></span></div><div><span>SOME MORE TEXT</span></div></td>
</tr></tbody></table>
<p>SOME TEXT</p>
我想得到这个输出:
<p><span><span>SOME TEXT</span></span></p>
<table><tbody><tr>
<td>SOME TEXT SOME MORE TEXT</td>
<td>SOME TEXT SOME MORE TEXT</td>
</tr></tbody></table>
<p>SOME TEXT</p>
所以我基本上想要的是一种方法来删除所有嵌套在 td 标签中的 div 和 span 标签,然后再删除。
有没有办法使用 HTML Purifier 来实现这一点,或者有人知道另一种方法来获得这个结果吗? (我已经检查了 HTML Purifier 文档,但找不到只删除嵌套标签的方法)
非常感谢您的帮助。
【问题讨论】:
-
不要使用正则表达式。正则表达式无法解析 HTML,你会在尝试中发疯。
-
html 似乎不太适合嵌套。
-
非常感谢您的回答。你能想到一个好的工具来实现这个输出吗?不幸的是我不能改变输入。我想使用一个像 HTlML Purfier 这样的工具,但它似乎不支持这个用例。