用于HTML清理的库

oni*_*unn 14 html java parsing

我正在寻找一个html清理程序,我可以根据API调用它来清理我从webapp获取的字符串.是否有一些有用的易用库?有谁知道也许一两个?

我不需要大的东西它必须能够找到未封闭的标签并关闭它们.

Mik*_*uel 24

https://github.com/OWASP/java-html-sanitizer现已标记为可供生产使用.

一个快速且易于配置的用Java编写的HTML Sanitizer,它允许您在Web应用程序中包含由第三方创作的HTML,同时防止XSS.

您可以使用预先打包的策略

Sanitizers.FORMATTING.and(Sanitizers.LINKS)
Run Code Online (Sandbox Code Playgroud)

或测试显示如何轻松配置自己:

new HtmlPolicyBuilder()
    .allowElements("a")
    .allowUrlProtocols("https")
    .allowAttributes("href").onElements("a")
    .requireRelNofollowOnLinks()
Run Code Online (Sandbox Code Playgroud)

或编写自定义策略来执行诸如将h1s 更改为div具有特定类的s:

new HtmlPolicyBuilder()
    .allowElements("h1", "p")
    .allowElements(
        new ElementPolicy() {
          public String apply(String elementName, List<String> attrs) {
            attrs.add("class");
            attrs.add("header-" + elementName);
            return "div";
          }
        }, "h1"))
Run Code Online (Sandbox Code Playgroud)


Jer*_*ome 10

JTidy可能会帮助你.