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