Préserver les sauts de ligne à l'aide de Jsoup : un guide complet
Lors de la conversion de HTML en texte brut, la préservation des sauts de ligne est cruciale pour maintenir la lisibilité. Jsoup, une bibliothèque d'analyseurs HTML Java populaire, fournit un moyen efficace d'extraire du texte du HTML tout en conservant sa structure.
Dans ce guide, nous aborderons le problème spécifique de la préservation des sauts de ligne lors de l'utilisation de Jsoup.parse de Jsoup. Méthode (str).text(). Cette méthode extrait le contenu du texte du HTML, mais elle ne préserve pas nativement les sauts de ligne.
Utilisation de TextNode.getWholeText()
Initialement, la question explorait la possibilité de en utilisant la méthode TextNode.getWholeText() de Jsoup. Cependant, cette approche s'est avérée inefficace car elle ne gère pas les sauts de ligne dans le contexte des balises HTML.
La solution efficace
La solution pour préserver les sauts de ligne réside dans un approche plus complète qui implique à la fois le pré- et le post-traitement du contenu HTML avant d'extraire le texte.
L'extrait de code présenté suit les étapes suivantes :
balises.
Implémentation
<code class="java">public static String br2nl(String html) { if(html==null) return html; Document document = Jsoup.parse(html); document.outputSettings(new Document.OutputSettings().prettyPrint(false));//makes html() preserve linebreaks and spacing document.select("br").append("\n"); 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>
Exigences satisfaites
La solution fournie répond aux exigences suivantes :
balises en nouvelles lignes.
En implémentant cette solution, vous pouvez conserver efficacement les sauts de ligne lors de la conversion de HTML en texte brut à l'aide de Jsoup, garantissant des résultats précis et lisibles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!