我在我的应用程序中嵌入了 HTML Tidy 来清理传入的 HTML。但是 Tidy 有大量的错误,直接在源代码中修复它们是我最糟糕的噩梦。整洁的源代码是不可读的可憎之物。数千行函数,糟糕的变量命名,意大利面条代码等。这真是太可怕了。
更糟糕的是,官方开发似乎已经停止。在过去的 12 个月里,官方 CVS 回购中有3笔写交易。但它已经死了,埋葬的时间比这要长得多……
所以我正在寻找一个 OSS C 或 C++ 应用程序/库,它可以做 Tidy 可以做的事情(当感觉像它时):修复错误的 HTML 标记并将其转换为有效的 XHTML(这是我感兴趣的部分)。我的意思是各种不好的标记。
那里有类似的东西吗?
编辑:我既需要它来通过 XML 处理工具对 DOM 树进行操作,又需要它来普遍遵守 XHTML 规范。我的应用程序需要接受来自用户的 HTML(这通常以各种方式无效)并输出有效的 XHTML。它需要能够处理通常不会在浏览器中显示的 HTML,因为用户手动编辑它并且事后没有检查。
Tidy 的纠错解析器的替代品......这并不糟糕。如果源代码可读并且我可以自己修复问题,或者如果有活跃的开发人员及时提供错误修复,我不介意错误。