«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сохранить разрывы строк при преобразовании HTML в обычный текст с помощью Jsoup?

Как сохранить разрывы строк при преобразовании HTML в обычный текст с помощью Jsoup?

Опубликовано 7 ноября 2024 г.
Просматривать:205

How Can I Preserve Line Breaks When Converting HTML to Plain Text with Jsoup?

Сохранение разрывов строк с помощью преобразования 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)); }

Эта пользовательская функция обеспечивает сохранение разрывов строк в соответствии с желаемым выводом. Он отвечает двум ключевым требованиям:

  1. Исходные разрывы строк (\n) сохраняются.

  2. и теги

    преобразуются в разрывы строк (\n).

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3