Beibehalten von Zeilenumbrüchen mit der Konvertierung von HTML in einfachen Text von Jsoup
Jsoup bietet robuste Tools zum Bearbeiten von HTML, aber die Standardkonvertierung von HTML in einfachen Text ist vorgesehen 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 Erhaltung 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:
<code class="java">public String noTags(String str) { return Jsoup.parse(str).wholeText(); }</code>
Implementierung der Zeilenumbrucherhaltung:
Für eine verfeinerte Lösung, die Zeilenumbrüche beibehält:
<code class="java">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 <br> tags document.select("br").append("\n"); // Prepend line breaks for <p> 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)); }</code>
Diese benutzerdefinierte Funktion stellt sicher, dass Zeilenumbrüche beibehalten werden und an der gewünschten Ausgabe ausgerichtet sind. Es erfüllt zwei wichtige Anforderungen:
Tags werden in Zeilenumbrüche (n) umgewandelt.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeilenumbrüche beim Konvertieren von HTML in einfachen Text mit Jsoup beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!