我在我的应用程序中嵌入了 HTML Tidy 来清理传入的 HTML。但是 Tidy 有大量的错误,直接在源代码中修复它们是我最糟糕的噩梦。整洁的源代码是一个不可读的可憎之物。上千行函数,糟糕的变量命名,意大利面条式的代码等等。真是太可怕了。
更糟糕的是,官方开发seems to have ceased .在过去的 12 个月中,有 三个 向官方 CVS 存储库写入交易。但它已经死去并被埋葬的时间比这要长得多......
所以我正在寻找一个 OSS C 或 C++ 应用程序/库,它可以做 Tidy 可以做的事情(当感觉像它时):修复错误的 HTML 标记并将其转换为有效的 XHTML(这是我感兴趣的部分在)。我的意思是各种糟糕的标记。
那里有类似的东西吗?
编辑:我需要它来通过 XML 处理工具对 DOM 树进行操作,以及为了符合 XHTML 规范。我的应用程序需要接受来自用户的 HTML(这通常以各种方式无效)并输出有效的 XHTML。它需要能够处理通常不会在浏览器中显示的 HTML,因为用户手动编辑了它并且事后没有检查。
Tidy 的纠错解析器的替代品......这并不糟糕。如果源代码可读并且我可以自己修复问题,或者如果有活跃的开发人员及时提供错误修复,我不介意错误。
最佳答案
你能告诉我们你打算用这个工具做什么吗?例如,您是要修复静态网页,还是要在其他操作之前进行某种过滤步骤,以便某些工具可以处理有问题的网页?
就我个人而言,我会在需要时在 Python 的 BeautifulSoup 或 lxml 上编写自己的工具 --- 它最多只有十几行脚本,可以完成我想要的大部分工作。
关于c++ - 是否有 HTML Tidy 的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2306980/