Антисемия преобразование одинарных кавычек в двойные

Когда я пытаюсь сканировать 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; который при декодировании дает " вместо ', Это вызывает проблемы для меня.

Антисамми версия - 1.5.3

Файл политики - antisamy-everythinggoes.xml

Как я могу решить это? Любая помощь приветствуется

2 ответа

Попробуйте это простое решение

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
}

Я поднимал этот вопрос в проекте Antisammy GitHub . Теперь эта проблема исправлена ​​:). Пожалуйста, ознакомьтесь с примечаниями к выпуску версии 1.7.1 .

Другие вопросы по тегам