Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengekod dan Menyahkod Entiti HTML dalam JavaScript?

Bagaimana untuk Mengekod dan Menyahkod Entiti HTML dalam JavaScript?

DDD
DDDasal
2024-12-11 19:14:11320semak imbas

How to Encode and Decode HTML Entities in JavaScript?

Penyahkodan Entiti HTML

Entiti HTML ialah aksara yang diwakili menggunakan titik kod heksadesimalnya didahului oleh ampersand (&) dan koma bertitik (;). Contohnya, aksara ampersand (&) diwakili sebagai &.

Pengekodan Entiti HTML dalam JavaScript

Untuk mengekod entiti HTML dalam JavaScript, gunakan encodeURIComponent() fungsi. Fungsi ini mengambil rentetan sebagai input dan mengembalikan rentetan baharu dengan semua aksara bukan ASCII yang dikodkan sebagai entiti HTML. Sebagai contoh, kod berikut mengekod aksara ampersand (&) sebagai &:

encodeURIComponent('&'); // "&"

Menyahkod Entiti HTML dalam JavaScript dengan jQuery

Untuk menyahkod entiti HTML dalam JavaScript menggunakan jQuery, gunakan fungsi html(). Fungsi ini mengambil rentetan sebagai input dan mengembalikan rentetan baharu dengan semua entiti HTML dinyahkodkan. Contohnya, kod berikut menyahkod rentetan "&" ke dalam aksara ampersand (&):

$.html('&'); // "&"

Menyahkod Entiti HTML dalam JavaScript tanpa jQuery

Jika anda tidak mahu menggunakan jQuery, anda boleh menggunakan fungsi tersuai berikut untuk menyahkod entiti HTML dalam JavaScript:

function decodeEntities(string) {
  var doc = new DOMParser().parseFromString(string, "text/html");
  return doc.documentElement.textContent;
}

Fungsi ini mencipta elemen DOM baharu daripada rentetan input dan kemudian mengekstrak kandungan teks daripada elemen DOM, yang akan mempunyai semua entiti HTML dinyahkodkan. Sebagai contoh, kod berikut menyahkod rentetan "&" ke dalam aksara ampersand (&):

decodeEntities('&'); // "&"

Atas ialah kandungan terperinci Bagaimana untuk Mengekod dan Menyahkod Entiti HTML dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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