Cara menghilangkan tag html di java

Untuk menghapus tag HTML dari string, Anda dapat menggunakan ekspresi reguler untuk mencocokkan dan mengganti tag dengan string kosong

Berikut adalah contoh bagaimana Anda dapat melakukan ini di Jawa

Fungsi ini menggunakan ekspresi reguler untuk mencocokkan urutan karakter apa pun yang dimulai dengan karakter < dan diakhiri dengan karakter >, dan menggantinya dengan string kosong. Ini akan menghapus semua tag HTML dari string input

Berikut adalah contoh bagaimana Anda dapat menggunakan fungsi stripHtmlTags()

Perhatikan bahwa fungsi ini hanya menghapus tag dari string input, dan tidak mengurai HTML untuk mengekstrak konten tag. Jika Anda perlu mengekstrak konten tag, Anda perlu menggunakan parser HTML atau pustaka yang dapat mem-parsing HTML

Hapus tag HTML dari String di Java Contoh menunjukkan cara menghapus tag HTML dari String di Java menggunakan ekspresi reguler dan pustaka Jsoup

Bagaimana cara menghapus tag HTML dari String di Java?

You can remove simple HTML tags from a string using a regular expression. Usually, HTML tags are enclosed in “<” and “>” brackets, so we are going to use the "<[^>]*>" pattern to match anything between these brackets and replace them with the empty string to remove them.

1

2

3

4

< - tanda kurung mulai

[^>] - diikuti oleh karakter apa pun yang bukan tanda kurung tutup ">"

* - nol kali atau lebih

> - diikuti dengan tanda kurung tutup

Contoh

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

paket com. contoh kode java. contoh string;

 

public class RemoveHTMLTagsFromStringExample {

 

    publik statis batal utama(String[] args) {

        

 

        String[] strHTMLTexts = {

                """""""""""""",

                """""""""""""",

                " ",

                ",

                ",

                "  Jack & Jones",

                "

        };

        

        //cocokkan dengan tag HTML

        String strRegEx = ";

        

        //ganti dengan string kosong untuk menghapusnya

        untuk(String str : strHTMLTexts){    

            Sistem. keluar. println( str. replaceAll(strRegEx, ") );

        }    

        

 

    }

}

Keluaran

1

2

3

4

5

6

7

Tautan HTML

kolom1

waspada('javascript');

jeda baris

teks tebal

Jack & Jones

Ekspresi reguler di atas berfungsi dengan baik kecuali tidak menangani entitas HTML seperti " " dan "&". Bergantung pada persyaratan, Anda dapat menggantinya dengan karakter yang setara satu per satu atau menghapusnya menggunakan pola "&.*?;"

1

2

3

& - & karakter

* - diikuti oleh karakter apa pun

?;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

String[] strHTMLTexts = {

        """"""""""""""""""",

        """"""""""""""""""",

        " ",

        ",

        ",

        "  Jack & Jones",

        "

};

 

String strRegEx = ";

 

untuk(String str . strHTMLTexts){    

    

    str = str. replaceAll(strRegEx, ");

    

    //ganti   dengan spasi

    str = str. ganti(" ", " ");

    //ganti & dengan &

    str = str. ganti("&", "&");            

    

    //ATAU hapus semua entitas HTML

    str = str. gantiSemua("&. *?;", "");

    

    Sistem. keluar. println(str);

}

Keluaran

1

2

3

4

5

6

7

Tautan HTML

kolom1

waspada('javascript');

jeda baris

teks tebal

Jack & Jones

naskah

Bagaimana cara menghapus tag HTML tertentu dari String?

What if you want to remove only a specific HTML tag from String? You can do that using regular expression too. Suppose you want to remove “a” tag from the String “HTMLBoldlink”. You can use the "<[/]?a[^>]*>" pattern to remove that.

1

2

3

4

5

6

< - braket pembuka

[/]?

a - diikuti oleh karakter "a".

[^>] - diikuti oleh karakter apa pun yang bukan tanda kurung tutup ">"

* - nol kali atau lebih

> - diikuti dengan tanda kurung tutup ">"

1

2

3

4

String strHtml = ";

 

String strRegEx = ";

Sistem. keluar. println( strHtml. replaceAll(strRegEx, ") );

Keluaran

1

HTMLBoldlink

Mari jalankan beberapa pengujian lagi untuk memastikan bahwa polanya berfungsi

1

2

3

4

5

6

7

8

9

10

11

String[] strHtmlLinks = {

    """"""""""""""""""""""""""""",

    """"""""""""""""""""""""""""",

    "< a href='#'>,

    "< a href='#'>< / a >"

};

 

String strRegEx = ";

 

untuk(String html . strHtmlLinks)

    Sistem. keluar. println(html. replaceAll(strRegEx, "));

Keluaran

1

2

3

4

HTMLBoldlink

< a href='#'>

< a href='#'>< / a >

HTML is not a strict language. As you can see from the output, our pattern failed when an HTML tag was specified in the upper case or having multiple spaces. Let’s modify the pattern to “(?i)<[\\s]*[/]?[\\s]*a[^>]*>” to cover these scenarios.

1

2

3

4

5

6

7

8

9

(?i) - perbandingan tidak peka huruf besar-kecil

< - tanda kurung buka "<"

[\\s]* - diikuti dengan nol spasi atau lebih

[/]?

[\\s]* - diikuti dengan nol spasi atau lebih

a -  diikuti dengan "a"

[^>] - diikuti oleh karakter apa pun yang bukan tanda kurung tutup ">"

* - nol kali atau lebih

> - diikuti dengan tanda kurung tutup ">"

Contoh

1

2

3

4

5

6

7

8

9

10

11

String[] strHtmlLinks = {

    """"""""""""""""""""""""""""""""""",

    """"""""""""""""""""""""""""""""""",

    "< a href='#'>Tautan,

    "< a href='#'>Tautan< / a >"

};

 

String strRegEx = "(?i);

 

untuk(String html . strHtmlLinks)

    Sistem. keluar. println( html. replaceAll(strRegEx, ") );

Keluaran

1

2

3

4

HTMLBoldlink

Tautan

Tautan

Tautan

Apakah disarankan menggunakan ekspresi reguler untuk menghapus tag HTML dari String?

Jawaban singkatnya adalah TIDAK. Sampai sekarang kita hanya melihat skenario bahagia. Pertimbangkan di bawah ini diberikan contoh string HTML

1

2

3

4

String strHtml = ";

 

String strRegEx = ";

Sistem. keluar. println( strHtml. replaceAll( strRegEx, ") );

Keluaran

1

Hilang

Teks penting kami telah dihapus oleh ekspresi reguler karena HTML tidak dibuat dengan baik. Sangat umum untuk menemukan HTML cacat seperti itu yang tidak dapat diurus oleh ekspresi reguler. Pertimbangkan contoh lain

1

2

3

4

String strHtml = """""""""""""""""""""""""""""""""""""""""""";

 

String strRegEx = ";

Sistem. keluar. println( strHtml. replaceAll(strRegEx, ") );

Keluaran

1

Matematika. a  c

Apa yang harus saya gunakan untuk menghapus tag HTML?

Jika Anda menghapus satu atau dua tag dari string dan Anda benar-benar yakin bahwa input HTML dibuat dengan baik, menggunakan ekspresi reguler tidak apa-apa. Dalam semua skenario lainnya, menggunakan parser HTML adalah cara yang harus dilakukan

Salah satu parser tersebut adalah Jsoup. Inilah cara Anda menghapus elemen HTML dari string menggunakan contoh Jsoup

1

2

3

4

5

String strHtml = """""""""""""""""""""""""""""""""""""""""""""""""";

 

String teks = Jsoup. mengurai(strHtml). teks();

 

Sistem. keluar. println(teks);

Keluaran

1

Matematika. a < b & b > c

Pustaka Jsoup bahkan memungkinkan Anda untuk memasukkan elemen daftar putih jika Anda ingin mempertahankan beberapa tag sambil menghapus yang lainnya

Contoh ini adalah bagian dari tutorial Java String, Tutorial Java RegEx, dan Tutorial Jsoup

Tolong beri tahu saya pandangan Anda di bagian komentar di bawah

Tentang Penulis

Rahim

Saya memiliki gelar master dalam ilmu komputer dan lebih dari 18 tahun pengalaman merancang dan mengembangkan aplikasi Java. Saya telah bekerja dengan banyak perusahaan 500 keberuntungan sebagai Arsitek eCommerce. Ikuti saya di LinkedIn dan Facebook

Bagaimana cara menghapus tag dari HTML?

Untuk tag HTML, Anda dapat tekan Alt+Enter dan pilih Hapus tag alih-alih menghapus tag pembuka lalu tag penutup.

Bagaimana cara mengekstrak tag HTML dari string di Jawa?

Bagaimana cara mengekstrak tag HTML dari String menggunakan regex di Java? .
Buat objek Pola dengan meneruskan ekspresi reguler yang mewakili tag HTML yang diperlukan sebagai parameter ke metode compile() dari kelas Pola
Cocokkan dengan String yang diinginkan menggunakan metode pencocokan() dari kelas Pola

Bagaimana cara menghapus tag HTML dari string JavaScript?

Untuk menghapus semua tag HTML dari sebuah string, ada banyak prosedur dalam JavaScript. Untuk menghapus tag, kita dapat menggunakan fungsi replace() dan juga dapat menggunakan. properti textContent,. properti innerText dari HTML DOM .

Bagaimana cara menghapus tag HTML menggunakan regex?

Menghapus Tag HTML menggunakan Regexp .
Pilih untuk bidang dengan tipe pemetaan Utama (mis. g. Ganti nama)
Klik Edit Nilai
In the Input field, enter the following symbols: <[^>]*>.
Centang kotak gunakan regexp