首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于HTML清理的Libs

用于HTML清理的Libs
EN

Stack Overflow用户
提问于 2009-12-22 23:21:28
回答 5查看 10.2K关注 0票数 14

我正在寻找一个html消毒器,我可以调用每个API来消毒字符串,我从我的网络应用程序。是否有一些有用的、易于使用的库可用?有没有人知道一两个?

我不需要大的东西,它只需要能够找到未关闭的标签,并关闭它们。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-12-22 23:23:29

JTidy可能会对您有所帮助。

票数 10
EN

Stack Overflow用户

发布于 2012-01-18 01:15:36

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

这是一个用

编写的快速且易于配置的超文本标记语言杀菌器,它允许你在你的web应用程序中包含第三方创作的超文本标记语言,同时保护你的应用程序免受XSS攻击。

您可以使用prepackaged policies

代码语言:javascript
运行
复制
Sanitizers.FORMATTING.and(Sanitizers.LINKS)

或者tests向您展示了如何轻松配置您自己的:

代码语言:javascript
运行
复制
new HtmlPolicyBuilder()
    .allowElements("a")
    .allowUrlProtocols("https")
    .allowAttributes("href").onElements("a")
    .requireRelNofollowOnLinks()

或者编写自定义策略来执行某些操作,如将h1更改为具有特定类的div

代码语言:javascript
运行
复制
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"))
票数 24
EN

Stack Overflow用户

发布于 2013-12-19 07:01:01

JSoup的超文本标记语言解析器还支持按策略进行清理:http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1947021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档