使用Jsoup 在HTML 到文字轉換中保留換行符
使用jsoup 將HTML 轉換為純文字時,可以保留換行符對於保持輸出的可讀性和結構至關重要。預設情況下,jsoup 的 text() 方法不會保留 HTML 程式碼中存在的換行符。
解決方案:
要有效保留換行符,請使用br2nl()方法,它包含以下增強功能:
標籤:
換行符是透過在的內容之前。標記來表示新段落。
用法:
<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中文網其他相關文章!