使用Jsoup 保留換行符:綜合指南
將HTML 轉換為純文字時,保留換行符對於保持可讀性至關重要。 Jsoup 是一個流行的 Java HTML 解析器庫,它提供了一種從 HTML 中提取文字同時保留其結構的有效方法。
在本指南中,我們將深入研究使用 Jsoup 的 Jsoup.parse 時保留換行符的具體問題(str).text() 方法。此方法從 HTML 中提取文字內容,但它本身並沒有保留換行符。
利用 TextNode.getWholeText()
最初,問題探討了以下可能性使用 Jsoup 的 TextNode.getWholeText() 方法。然而,這種方法被證明是無效的,因為它不能處理 HTML 標籤上下文中的換行符。
有效的解決方案
保留換行符的解決方案在於更全面的方法,涉及在提取文字之前對 HTML 內容進行預處理和後處理。
所提供的程式碼片段採用以下步驟:
之前標籤。
實現
<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>
滿足要求
提供的解決方案滿足以下要求:
透過實作此解決方案,您可以在使用 Jsoup 將 HTML 轉換為純文字時有效保留換行符,確保結果準確且可讀。
以上是使用 Jsoup 將 HTML 轉換為純文字時如何保留換行符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!