Préserver les sauts de ligne lors de la conversion HTML en texte à l'aide de Jsoup
Lors de la conversion de HTML en texte brut à l'aide de jsoup, il est possible de conserver les sauts de ligne crucial pour maintenir la lisibilité et la structure du résultat. Par défaut, la méthode text() de jsoup ne conserve pas les sauts de ligne présents dans le code HTML.
Solution :
Pour conserver efficacement les sauts de ligne, utilisez br2nl() méthode, qui intègre les améliorations suivantes :
Tags :
Les sauts de ligne sont introduits en ajoutant n au contenu debalises pour signifier de nouveaux paragraphes.
Utilisation :
<code class="java">import org.jsoup.Jsoup; import org.jsoup.nodes.Document; public class LineBreakPreserver { public static String br2nl(String html) { if (html == null) { return html; } Document document = Jsoup.parse(html); document.outputSettings(new Document.OutputSettings().prettyPrint(false)); 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)); } public static void main(String[] args) { String html = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN \">" + "<HTML> <HEAD> <TITLE></TITLE> <style>body{ font-size: 12px;font-family: verdana, arial, helvetica, sans-serif;}</style> </HEAD> <BODY><p><b>hello world</b></p><p><br><b>yo</b> <a href=\"http://google.com\">googlez</a></p></BODY> </HTML> "; String result = br2nl(html); System.out.println(result); } }</code>
Sortie :
hello world yo googlez
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!