需要执行一些HTML清理。
HTML有很多多余的br标记,到目前为止,尝试了HtmlCleaner和jTidy,但没有任何结果。
示例:
<br>
<br>
<br>
<br>
...
我只想拿回一个<br>
有没有其他方法可以在不手动逐行解析的情况下实现这一点?
如果您只是想删除多余的<br/>
标记,那么我建议使用一个简单的解析状态机,使用Jericho来进行解析,因为Jericho非常善于保存数据。
状态机只需保持最后一个标记可见,如果最后一个标签可见是<br/>
标签,而下一个标签是<br/>
标签,则只需省略它。这是一个非常简单的练习,我建议您尝试。我不建议手动文本解析(即不使用HTML解析器),因为它非常容易出错。
我还想提醒您,尽管人们可能会使用<br/>
标签,但它是一个明确的内容标签。因此,删除标签就是改变内容。也许不是抓取一些HTML,而是从更结构化的源中获取内容,如XML提要、REST API或数据库等。