Dón*_*nal 1 java html-parsing jsoup
我正在使用JSoup来清理一些不受信任的HTML.我发现如果我打电话
String html = "<div id='foo'><script type='text/javascript'>alert('hello');</script></div>";
String cleanedHtml = Jsoup.clean(html, Whitelist.relaxed());
Run Code Online (Sandbox Code Playgroud)
此时cleanedHtml是
<div><div>
Run Code Online (Sandbox Code Playgroud)
所以<script>标签已被正确删除,但神秘,所以具有的id属性<div>.有什么理由可以删除它或者它是一个错误吗?
默认情况下,该id属性将被删除; 将其添加为允许的属性:
Whitelist whitelist = Whitelist.relaxed().addAttributes("div", "id");
System.out.println(Jsoup.clean(html, whitelist));
=> <div id="foo"></div>
Run Code Online (Sandbox Code Playgroud)
这是一个错误吗?不是AFAIC; 它在源头.但IMO存在文档错误.
是否"有任何理由"为什么要删除它?不确定那个,但这样的属性不是结构性的:删除它不会改变DOM.这是关于白名单的事情 - 他们明确允许,并且必须根据您的确切需求进行策划.
| 归档时间: |
|
| 查看次数: |
641 次 |
| 最近记录: |