Enkode dan dekode entitas HTML
Loloskan teks untuk HTML dengan entitas bernama, desimal, atau heksadesimal, atau ubah entitas seperti & dan é kembali menjadi karakter.
Contoh kode
Salin contoh ini ke proyek Anda sendiri. Masing-masing hanya memakai pustaka standar bahasanya, jadi tidak ada yang perlu diinstal.
const text = '<p class="x">Tom & Jerry</p>'
const entities = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }
console.log(text.replace(/[&<>"']/g, (char) => entities[char]))Fungsinya
Meloloskan teks untuk HTML dan mengubah entitas HTML kembali menjadi karakter. Entitas menulis karakter dengan nama (é), sebagai angka desimal (é) atau angka heksadesimal (é).
Cara memakai
- Ketik atau tempel teks, atau jatuhkan file teks.
- Pilih Enkode atau Dekode. Saat mengenkode, pilih apakah hanya meloloskan karakter yang dibaca HTML sebagai markup atau juga semua karakter non-ASCII, dan apakah menulis nama, angka desimal, atau heksadesimal.
- Salin atau unduh hasilnya.
Contoh
Meloloskan markup:
<p class="x">Tom & Jerry</p> menjadi <p class="x">Tom & Jerry</p>. Dengan semua karakter non-ASCII diloloskan, café © € menjadi café © €.
Perlu diketahui
- Karakter yang selalu perlu diloloskan dalam teks dan atribut HTML adalah
&,<,>,", dan'. - Apostrof ditulis
', karena HTML 4 tidak punya namanya. Dekode juga membaca'. - Karakter tanpa nama, seperti emoji, ditulis sebagai angka, satu angka per karakter.
- Tabel nama mencakup 252 entitas HTML 4.01. Nama di luarnya dibiarkan seperti diketik saat dekode.
Apa itu entitas HTML?
Entitas adalah cara menulis karakter di HTML tanpa mengetiknya: nama seperti é atau angka seperti é (desimal) atau é (hex). Lima karakter harus diloloskan dalam teks dan atribut karena HTML membacanya sebagai markup: & < > dan dua tanda kutip.
Pertanyaan umum
Karakter apa yang harus saya loloskan?
Loloskan & dan < dalam teks, serta tanda kutip yang mengapit nilai atribut di dalamnya. Meloloskan > dan kedua tanda kutip di mana-mana tidak berbahaya dan merupakan bawaan aman, yang dilakukan Hanya markup. Meloloskan masukan pengguna begini adalah pertahanan pertama terhadap markup yang disuntikkan.
Mengapa apostrof menjadi ' dan bukan nama?
HTML 4 tidak punya entitas bernama untuk apostrof. ' ada di XML dan HTML5, tetapi perangkat lunak lama tidak mengenalnya, jadi angka adalah pilihan aman. Dekode menerima keduanya.
Apakah alat ini mengirim teks saya ke mana pun?
Tidak. Semuanya terjadi di browser Anda. Apa yang Anda ketik tidak pernah dikirim ke server kami.