Я оцениваю jsoup на предмет функциональности, которая будет очищать (но не удалять!) теги, не внесенные в белый список. Допустим, разрешен только тег <b>
, поэтому следующий ввод
foo <b>bar</b> <script onLoad='stealYourCookies();'>baz</script>
должно получиться следующее:
foo <b>bar</b> <script onLoad='stealYourCookies();'>baz</script>
Я вижу следующие проблемы/вопросы с jsoup:
document.getAllElements()
всегда предполагает<html>
,<head>
и<body>
. Да, я могу вызватьdocument.body().getAllElements()
, но дело в том, что я не знаю, является ли мой источник полным HTML-документом или просто телом, и я хочу, чтобы результат имел ту же форму и вид, в каком он был получен;- как заменить
<script>...</script>
на<script>...</script>
? Я хочу только заменить скобки экранированными объектами и не хочу изменять какие-либо атрибуты и т. д.Node.replaceWith
звучит как излишество для этого. - Можно ли полностью отключить красивую печать (например, вставку новых строк и т. д.)?
Или, может быть, я должен использовать другой фреймворк? До сих пор я заглядывал в htmlcleaner, но приведенные примеры не предполагают, что мои желаемые функции поддерживаются.