Memelihara Pemisah Baris dalam Penukaran HTML-ke-Teks Menggunakan Jsoup
Apabila menukar HTML kepada teks biasa menggunakan jsoup, mengekalkan pemisah baris boleh penting untuk mengekalkan kebolehbacaan dan struktur output. Secara lalai, kaedah text() jsoup tidak mengekalkan pemisah baris yang terdapat dalam kod HTML.
Penyelesaian:
Untuk mengekalkan pemisah baris dengan berkesan, gunakan br2nl() kaedah, yang menggabungkan penambahbaikan berikut:
Teg:
Pemisahan baris diperkenalkan dengan menambahkan n pada kandunganteg untuk menandakan perenggan baharu.
Penggunaan:
<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>
Output:
hello world yo googlez
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Pemisah Baris Apabila Menukar HTML kepada Teks Menggunakan Jsoup?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!