在JAVA中删除HTML中的冗余空间

时间:2014-11-10 23:57:36

标签: java html parsing jtidy htmlcleaner

需要执行一些HTML清理。

拥有大量冗余br标签的HTML,到目前为止,HtmlCleaner和jTidy都没有任何结果。

示例:

<br>
<br>
<br>
<br>
...

我想要的只是获得一个<br>回来

任何其他方法可以在不手动逐行解析的情况下实现此目的吗?

1 个答案:

答案 0 :(得分:0)

如果您只是尝试删除多余的<br/>标记,那么我建议使用Jericho进行解析的简单解析状态机,因为Jericho非常善于保留数据。

状态机只会看到最后一个标记,如果看到的最后一个标记是<br/>标记,而下一个标记是<br/>标记,则只需省略它。这是一个非常简单的练习,我建议你试试。我不建议通过手动文本解析(即不使用HTML解析器),因为它非常容易出错。

我还想提醒您,尽管人们可能会使用<br/>标记,但这是一个明确的内容标记。因此删除标记会改变内容。也许不是抓取一些HTML,而是从XML feed,REST API或数据库等更结构化的源中获取内容。