我正在解析一些非常糟糕的HTML代码。我已经取得了很大的成功,直到我注意到有些元素,属性包含“<”。
例如:
<a href="#Anchor-<ht-42368">40</a>
将导致
<a href="#Anchor-">
<ht-42368>40</ht-42368>
</a>
这将在浏览器中呈现,但HTML清洁工会认为它正在尝试启动新标记。它添加了一个'“&gt;”在开始一个我不想要的新标签之前。
解决此问题的最佳方法是什么?我不确定HTMLCleaner是否有任何我可以配置来管理它的属性..如果没有,我应该如何预处理HTML数据来修复这些字符?
编辑:修复示例
编辑:我想我可以在进入htmlcleaner之前将一个replaceAll()与正则表达式一起应用。也许像=“[^”] *“之类的东西,并搜索它是否包含”&lt;“..如果确实如此,请使用转义的html&符号进行搜索。这会有用吗?