Сохранение разрывов строк с помощью преобразования HTML в обычный текст Jsoup
Jsoup предлагает надежные инструменты для управления HTML, но по умолчанию он преобразует HTML в обычный текст text может объединять разрывы строк, отображая их как непрерывный текст. Чтобы сохранить эти разрывы, вы можете использовать Jsoup следующим образом:
Пользовательская функция для сохранения разрывов строк:
Приведенный фрагмент кода Java представляет пользовательскую функцию noTags, которая использует текст Jsoup(). метод удаления HTML-тегов из входного HTML. Однако он не поддерживает разрывы строк.
Улучшение функции с помощью извлечения всего текста:
Класс JsonNode в Jsoup предлагает метод getWholeText(), который извлекает текстовое содержимое с учетом разрывов строк. Используя этот метод, функцию noTags можно улучшить:
public String noTags(String str) {
return Jsoup.parse(str).wholeText();
}
Реализация сохранения разрывов строк:
Для более усовершенствованного решения, сохраняющего разрывы строк:
public static String br2nl(String html) {
if (html == null)
return html;
Document document = Jsoup.parse(html);
// Suppress pretty printing to preserve line breaks and spacing
document.outputSettings(new Document.OutputSettings().prettyPrint(false));
// Append line breaks for
tags
document.select("br").append("\\n");
// Prepend line breaks for tags
document.select("p").prepend("\\n\\n");
String s = document.html().replaceAll("\\\\n", "\n");
return Jsoup.clean(s, "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false));
}
Эта пользовательская функция обеспечивает сохранение разрывов строк в соответствии с желаемым выводом. Он отвечает двум ключевым требованиям:
преобразуются в разрывы строк (\n).
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3