在C ++中非破坏性地解析和修改HTML元素

时间:2009-08-09 15:52:26

标签: c++ html-parsing

我需要在C ++中对HTML进行一些简单的修改,最好不要完全重写HTML,例如当我使用libxml2或MSHTML时会发生什么。

特别是我需要能够阅读,然后(可能)修改所有“img”元素的“src”属性。我需要它足够强大,能够使用任何有效的HTML执行此操作,但最好不要更改过程中的任何其他HTML。

那里有没有能够处理这个问题的库吗?或者这是我可以用正则表达式做的事情?我对正则表达式并不太精明,我在这里已经阅读了很多问题,说你不应该用它们来解析HTML,但是我不清楚这是否适用于这样的事情,或者这个原则是否适用主要是在从HTML构建树的上下文中解析。

2 个答案:

答案 0 :(得分:2)

不建议将正则表达式用于HTML,因为它们不能很好地处理嵌套标记。他们应该没有这个目的。

答案 1 :(得分:1)

尝试查看HTMLTidy

过去我曾用过类似的东西。