Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengalih Keluar Semua Teg HTML daripada Rentetan dengan Cekap?

Bagaimanakah Saya Boleh Mengalih Keluar Semua Teg HTML daripada Rentetan dengan Cekap?

DDD
Lepaskan: 2025-01-05 11:53:41
asal
722 orang telah melayarinya

How Can I Remove All HTML Tags from a String Efficiently?

Melucutkan HTML daripada Rentetan tanpa Menentukan Teg

Soalan:

Bagaimanakah saya boleh menghapuskan semua tag HTML daripada rentetan dengan mudah , tanpa mengira teg tertentu terlibat?

Contoh:

Pertimbangkan rentetan kaya HTML berikut:

string title = "<b>Hulk Hogan's Celebrity Championship Wrestling     <font color=\"#228b22\">[Proj # 206010]</font></b>     (Reality Series,)
Salin selepas log masuk

Sebaik-baiknya, kami mahu outputnya menjadi:

"Hulk Hogan's Celebrity Championship Wrestling [Proj # 206010] (Reality Series)"
Salin selepas log masuk

Penyelesaian:

Pendekatan Regex:

Satu penyelesaian yang cekap menggunakan ungkapan biasa:

public static string StripHTML(string input)
{
   return Regex.Replace(input, "<.*?>", String.Empty);
}
Salin selepas log masuk

Reteks ini sepadan dengan mana-mana rentetan yang disertakan dalam kurungan sudut (< dan >) dan menggantikannya dengan rentetan kosong.

HTML Agility Pack:

Sebagai alternatif, anda boleh memanfaatkan perpustakaan HTML Agility Pack:

HTMLDocument doc = new HTMLDocument();
doc.LoadHtml(input);
string stripped = doc.DocumentNode.InnerText;
Salin selepas log masuk

Kaedah ini menghuraikan rentetan HTML dan hanya mengembalikan kandungan teks, tidak termasuk semua teg dan atribut.

Kaveat:

Walaupun kaedah ini berkesan mengalih keluar teg HTML, ia mempunyai had:

  • Pendekatan regex boleh terlepas beberapa kompleks Struktur HTML.
  • Pek Ketangkasan HTML boleh menjadi lebih perlahan untuk HTML yang besar dokumen.

Adalah penting untuk memilih penyelesaian yang sesuai berdasarkan keperluan khusus anda dan pertukaran.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Semua Teg HTML daripada Rentetan dengan Cekap?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan