0

当我尝试通过antisammy扫描 html 标签时,它会给出奇怪的输出。它将单引号转换为双引号。

CleanResults cr = as.scan(dirtyContent, policy);
System.out.println(cr.getCleanHTML());

输入字符串 -<span style="font-family: 'times new roman', times, serif;">My name is Gourav</span>

输出字符串 -<span style="font-family: &quot;times new roman&quot; , times , serif;">My name is Gourav</span>

因此,如您所见,单引号被编码为&quot;解码时给出"的而不是'. 这给我带来了问题。

Antisammy 版本 - 1.5.3

策略文件 - antisamy-anythinggoes.xml

我该如何解决这个问题?任何帮助表示赞赏

4

1 回答 1

1

试试这个简单的解决方案

try
{
    .
    .
    .
    dirtyContent.replaceAll("'", "SOME_COMBINATION_OF_CHARS");
    CleanResults cr = as.scan(dirtyContent, policy);
    dirtyContent.replaceAll("SOME_COMBINATION_OF_CHARS", "'");// here is your sanitised data 
}
catch(Exception ex)
{
    //do something on expn
}
于 2018-09-07T11:16:29.233 回答