


Bagaimana untuk Mengekalkan Pemisah Baris Apabila Menukar HTML kepada Teks Biasa dengan Jsoup?
Memelihara Pemisah Baris Apabila Menukar HTML kepada Teks Biasa dengan Jsoup
Apabila menukar kandungan HTML kepada teks biasa, adalah penting untuk mengekalkan pemisah baris untuk kebolehbacaan . Secara lalai, kaedah text() Jsoup menjalurkan pemisah baris, yang berpotensi mengganggu pemformatan output anda. Nasib baik, terdapat penyelesaian yang memanfaatkan kaedah getWholeText() untuk mengekalkan pemisah baris.
Menggunakan getWholeText() untuk Mengekalkan Pemisah Baris
Kaedah getWholeText() dalam Jsoup mengembalikan keseluruhan kandungan teks dokumen, termasuk pemisah baris. Untuk menggunakan kaedah ini, anda boleh mengikuti langkah berikut:
-
Hilang rentetan HTML anda menggunakan Jsoup:
<code class="java">Document doc = Jsoup.parse(htmlString);</code>
Salin selepas log masuk -
Lelaran pada elemen dokumen dan ekstrak teks:
<code class="java">for (Element element : doc.getAllElements()) { text += element.getWholeText().trim(); if (element.tagName().equals("br")) { text += "\n"; } }</code>
Salin selepas log masuk
Dengan menambahkan pemisah baris selepas setiap teg
, anda boleh memastikan pemisah baris dikekalkan dalam teks output anda.
Penyelesaian Lanjutan: Kaedah br2nl()
Penyelesaian di atas berfungsi dengan berkesan tetapi boleh diperbaiki dengan menggabungkan kaedah utiliti berikut:
<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)); 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>
Kaedah ini bukan sahaja mengekalkan talian rehat daripada
dan
tag tetapi juga memastikan bahawa baris baharu dalam HTML asal dikekalkan. Ia melakukan ini dengan menambah dan menambahkan pemisah baris secara selektif pada elemen HTML dan kemudian melakukan penggantian regex untuk menggantikan pemisah baris yang terlepas dengan baris baharu yang sebenar.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Pemisah Baris Apabila Menukar HTML kepada Teks Biasa dengan Jsoup?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Iceberg: Masa Depan Jadual Data Tasik

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?
