„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich Zeilenumbrüche beim Konvertieren von HTML in einfachen Text mit Jsoup beibehalten?

Wie kann ich Zeilenumbrüche beim Konvertieren von HTML in einfachen Text mit Jsoup beibehalten?

Veröffentlicht am 07.11.2024
Durchsuche:715

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

Beibehalten von Zeilenumbrüchen mit Jsoups HTML-in-Plain-Text-Konvertierung

Jsoup bietet robuste Tools zum Bearbeiten von HTML, aber die Standardkonvertierung von HTML in Plain-Text Text kann Zeilenumbrüche zusammenführen und sie als fortlaufenden Text darstellen. Um diese Umbrüche beizubehalten, können Sie Jsoup wie folgt verwenden:

Eine benutzerdefinierte Funktion zur Beibehaltung von Zeilenumbrüchen:

Das bereitgestellte Java-Code-Snippet führt eine benutzerdefinierte Funktion ein, noTags, die text() von Jsoup nutzt. Methode zum Entfernen von HTML-Tags aus Eingabe-HTML. Es werden jedoch keine Zeilenumbrüche beibehalten.

Erweitern der Funktion durch Ganztextextraktion:

Die JsonNode-Klasse von Jsoup bietet eine getWholeText()-Methode, die den Textinhalt unter Berücksichtigung von Zeilenumbrüchen extrahiert. Mit dieser Methode kann die noTags-Funktion verbessert werden:

public String noTags(String str) {
    return Jsoup.parse(str).wholeText();
}

Implementierung der Zeilenumbrucherhaltung:

Für eine verfeinerte Lösung, die Zeilenumbrüche beibehält:

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)); }

Diese benutzerdefinierte Funktion stellt sicher, dass Zeilenumbrüche beibehalten werden und an der gewünschten Ausgabe ausgerichtet sind. Es erfüllt zwei Hauptanforderungen:

  1. Originalzeilenumbrüche (\n) bleiben erhalten.

  2. und

    -Tags werden in Zeilenumbrüche (\n) umgewandelt.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3