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:
-Tags werden in Zeilenumbrüche (\n) umgewandelt.
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