Rumah > Java > javaTutorial > teks badan

Bagaimanakah Saya Boleh Mengekalkan Pemisah Baris Apabila Menukar HTML kepada Teks Biasa dengan Jsoup?

Mary-Kate Olsen
Lepaskan: 2024-10-31 01:15:29
asal
162 orang telah melayarinya

How Can I Preserve Line Breaks When Converting HTML to Plain Text with Jsoup?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Fungsi tersuai ini memastikan pemisah baris dikekalkan, sejajar dengan output yang diingini. Ia memenuhi dua keperluan utama:

  1. Pemutus talian asal (n) dikekalkan.

  2. dan

    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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!