我在API中看到它是可能的,但我无法弄明白this article。甚至有一个how to use that sanitize() method,但他们没有解释如何。本质上我不知道CTX
在该方法签名中的含义。如果有人可以提供样本代码,说明如何获得已经过消毒的物品清单,那将是值得赞赏的。
答案 0 :(得分:0)
您需要设置HtmlChangeListener
以捕获已清理的所有元素。然后代码看起来像:
List<String> results = new ArrayList<String>();
HtmlChangeListener<List<String>> htmlChangeListener = new HtmlChangeListener<>()
{
@Override
public void discardedTag(List<String> context, String elementName)
{
context.add(elementName);
}
@Override
public void discardedAttributes(List<String> context, String tagName, String... attributeNames)
{
context.add(tagName);
}
};
String sanitizedHtml = POLICY_DEFINITION.sanitize(rawHtml, htmlChangeListener, results);
System.out.println("Sanitized elements include: " + String.join(",", results));