C++中的HTML清理

Kla*_*aim 3 html c++ sanitization

有没有可用的C++(或C)函数/类/库,只是为了清理可能包含HTML的字符串?

我找到了很多用C#或其他语言进行消毒的源代码,这些语言在Web应用程序中更常用,但在C++中没有.

如果我找不到任何可用的功能,我会尝试实现自己的功能,但我认为经过严格测试的解决方案会好得多.

编辑>对我的需求更精确:

我在C++应用程序中从键盘输入文本.然后我需要在将其用作javascript函数调用中的参数之前对其进行清理.该javascript在加载的html页面中运行,该页面通过库(Navi)显示的纹理中自动呈现(通过Chromium).因此,我使用的javascript函数将简单地采用给定的文本,将P标记放在文本周围并将其注入div中,如下所示:

text_display.innerHTML += text_to_add;
Run Code Online (Sandbox Code Playgroud)

我需要在将文本发送到网页之前对文本进行清理,无论是针对此功能还是其他功能.它必须在Chromium输入之前进行消毒.

Rex*_*x M 6

HTML Tidy是用c编写的,但实际上每种语言/平台都有绑定,包括c ++.

  • @Klaim清理HTML实际上是一个两步过程 - 首先确保标记是标准化的并符合规范.其次是剥离HTML.如果我们尝试一次性完成所有操作,我们必须考虑HTML可以被破坏并且仍然由浏览器解析/执行的无数方式.如果你通过像HTML Tidy之类的东西运行潜在的标记,那么它就会变得如此简洁和标准化,你可以安全地运行它来对抗一个简单的白名单. (2认同)