如何配置 jsoupWhitelist
以允许内部锚引用,而不允许任何任意值?
示例 html:
<a href="#section1" target="_self">Jump To Section 1</a>
<!-- ... -->
<a name="section1">Section 1</a>
如果我尝试用放松Whitelist
的方式清理代码,href
则会删除。
Jsoup.clean(html, Whitelist.relaxed().addAttributes("a", "name", "target");
返回以下内容:
<a target="_self">Jump To Section 1</a>
<!-- ... -->
<a name="section1">Section 1</a>
如果我手动构建 aWhitelist
并添加我想要的标签和属性,但不调用,addProtocols(....)
我可以让 jsoup 保留href
原位,但这似乎不是一个好的解决方案,因为它不会过滤href
掉包含 JavaScript。href
例如,我希望从以下内容中删除a 标签(或至少是):
<a href="javascript:alert(1111);" target="_self">Jump To Section 1</a>
<a name="section1">Section 1</a>
这可以用jsoup吗?
我确实看到了以下对 jsoup 的补丁提交,但它看起来并没有进入 jsoup 代码库: https ://github.com/jhy/jsoup/pull/77