使用 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中文网其他相关文章!