c++ - 是否有 HTML Tidy 的替代品?

标签 c++ html c tidy htmltidy

我在我的应用程序中嵌入了 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/

相关文章:

html - 为什么我的背景视频在移动 View 中不起作用?

统计输入了多少个 'x'字符——scanf提示两次而不等待输入

c++ - CUDA 编程 : Memory access speed and memory usage: thread-local variables vs. 共享内存变量与数字文字?

c++ - 使用 boost::lexical_cast 将 std::string 的 std::array 转换为相同大小的 std::tuple

html - 跨浏览器问题对齐 div 和元素符号样式

css - 在 <li> 中将 <div> 向左对齐?

c - 将数组和矩阵传递给函数作为 C 中的指针和指向指针的指针

c - For 循环跳过第二个及以后的 scanf

c++ - 用定义中的对象数组重载 >> 和 <<

c++ - "explicit"关键字对默认构造函数有影响吗?