-2

需要执行一些 HTML 清理。

有很多多余的 br 标签的 HTML,到目前为止尝试 HtmlCleaner 和 jTidy 没有任何结果。

例子:

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

我想要的只是得到一个单一的<br>回报

还有其他方法可以在不逐行手动解析的情况下完成此操作吗?

4

1 回答 1

0

如果你只是想删除多余<br/>的标签,那么我推荐一个简单的解析状态机,使用Jericho进行解析,因为 Jericho 非常擅长保存数据。

状态机将简单地保留看到的最后一个标签,如果看到的最后一个标签是一个<br/>标签,而下一个标签是一个<br/>标签,您只需忽略它。这是一个非常简单的练习,我建议您尝试一下。我不推荐手动文本解析(即不使用 HTML 解析器),因为它很容易出错。

我还想提醒您,尽管人们可能会使用<br/>标签,但它是一个明确的内容标签。所以删除标签就是改变内容。也许不是抓取一些 HTML,而是从更结构化的源(如 XML 提要、REST API 或数据库等)获取内容。

于 2014-11-11T17:05:26.000 回答