Memelihara Pemisah Baris dengan Penukaran Html ke Teks Biasa Jsoup
Jsoup menawarkan alatan yang mantap untuk memanipulasi HTML, tetapi penukaran lalainya daripada HTML kepada biasa teks boleh menggabungkan pemisah baris, menjadikannya sebagai teks berterusan. Untuk mengekalkan rehat ini, berikut ialah cara anda boleh menggunakan Jsoup:
Fungsi Tersuai untuk Pemeliharaan Pemisah Baris:
Coretan kod Java yang disediakan memperkenalkan fungsi tersuai, noTags, yang memanfaatkan teks Jsoup() kaedah untuk menanggalkan tag HTML daripada input HTML. Walau bagaimanapun, ia tidak mengekalkan pemisah baris.
Meningkatkan Fungsi dengan Pengekstrakan Seluruh Teks:
Kelas JsonNode Jsoup menawarkan kaedah getWholeText(), yang mengekstrak kandungan teks sambil menghormati pemisah baris. Menggunakan kaedah ini, fungsi noTags boleh dipertingkatkan:
<code class="java">public String noTags(String str) { return Jsoup.parse(str).wholeText(); }</code>
Melaksanakan Pemeliharaan Line Break:
Untuk penyelesaian yang lebih halus yang mengekalkan pemisah baris:
<code class="java">public static String br2nl(String html) { if (html == null) return html; Document document = Jsoup.parse(html); // Suppress pretty printing to preserve line breaks and spacing document.outputSettings(new Document.OutputSettings().prettyPrint(false)); // Append line breaks for <br> tags document.select("br").append("\n"); // Prepend line breaks for <p> tags 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>
Fungsi tersuai ini memastikan pemisah baris dikekalkan, sejajar dengan output yang diingini. Ia memenuhi dua keperluan utama:
teg ditukar kepada pemisah baris (n).
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Pemisah Baris Apabila Menukar HTML kepada Teks Biasa dengan Jsoup?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!