Jsoup を使用した HTML からテキストへの変換での改行の保持
jsoup を使用して HTML をプレーン テキストに変換する場合、改行を保持することができます。出力の読みやすさと構造を維持するために重要です。デフォルトでは、jsoup の text() メソッドは HTML コードに存在する改行を保持しません。
解決策:
改行を効果的に保持するには、br2nl() を利用します。このメソッドには、次の拡張機能が組み込まれています:
タグ:
改行は、の内容の前に nn が追加されます。新しい段落を示すタグ。
使用法:
<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>
出力:
hello world yo googlez
以上がJsoupを使用してHTMLをテキストに変換するときに改行を保持する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。