【问题标题】:Sanitize HTML data清理 HTML 数据
【发布时间】:2011-04-11 11:25:07
【问题描述】:
我从不同的 RSS/ATOM 提要中获取数据,有时我收到的 HTML 数据包含 HTML 标签,但它们没有关闭标签或其他一些问题,这会破坏页面布局/样式。
有些东西是类名/ id 冲突。有什么办法可以消毒吗?
如果有人能指出一些可靠的 Javascript / Java 实现。
【问题讨论】:
标签:
java
javascript
feed
security
【解决方案1】:
你可以试试JTidy。
JTidy 可用作清理格式错误和有缺陷的 HTML 的工具。
另一个选项是HTML Cleaner
在 Web 上发现的 HTML 通常是脏的、格式错误的并且不适合进一步处理。对于此类文档的任何严重消费,首先需要清理混乱,并为标签、属性和普通文本排序。对于给定的 HTML 文档,HtmlCleaner 重新排序各个元素并生成格式良好的 XML。默认情况下,它遵循大多数 Web 浏览器用来创建文档对象模型的类似规则。但是,用户可以为标签过滤和平衡提供自定义标签和规则集。
【解决方案2】:
我使用 NekoHTML 取得了巨大成功。它只是 Apache 解析器上的一个薄层,使其进入纠错模式,这是一个很棒的架构,因为每次 Apache 变得更好,Neko 也变得更好。而且没有大量的额外代码。