Melucutkan Teg HTML daripada Teks dalam JavaScript Biasa
Melucutkan teg HTML daripada rentetan ialah tugas biasa dalam pembangunan web. Walaupun terdapat perpustakaan yang tersedia untuk tujuan ini, adalah mungkin untuk mencapai ini menggunakan JavaScript biasa.
Menggunakan DOM Penyemak Imbas
Jika kod anda dijalankan dalam penyemak imbas, yang paling mudah pendekatan adalah untuk membiarkan penyemak imbas mengendalikan penghuraian HTML. Ini boleh dilakukan dengan mencipta elemen DOM sementara dan menetapkan sifat innerHTMLnya kepada rentetan HTML. Sifat textContent atau innerText yang terhasil akan mengandungi teks tanpa teg HTML.
function stripHtml(html) { let tmp = document.createElement("DIV"); tmp.innerHTML = html; return tmp.textContent || tmp.innerText || ""; }
Awas: Kaedah ini harus digunakan dengan berhati-hati apabila memproses input yang tidak dipercayai, seperti kandungan yang dijana pengguna.
Menggunakan DOMParser
Alternatif kaedah adalah dengan menggunakan antara muka DOMParser, yang tersedia dalam pelayar moden. Ini membolehkan anda menghuraikan rentetan HTML tanpa mencipta elemen DOM.
function stripHtml(html) { const doc = new DOMParser().parseFromString(html, "text/html"); return doc.body.textContent; }
Ungkapan Biasa
Ungkapan biasa juga boleh digunakan untuk menanggalkan teg HTML daripada rentetan, tetapi pendekatan ini secara amnya kurang cekap dan teguh berbanding dengan kaedah di atas.
function stripHtml(html) { return html.replace(/<.+?>/g, ""); }
Ingat untuk mempertimbangkan batasan dan implikasi keselamatan setiap kaedah apabila memilih penyelesaian yang sesuai untuk kes penggunaan anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Tag HTML dengan Cekap daripada Teks Menggunakan JavaScript Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!