onlinetools.dev

Enkode / Dekode Entitas HTML

Escape teks untuk HTML atau kembalikan entitas bergaya & menjadi karakter

Berjalan lokal
loading…
Tentang alat ini

Escape teks agar aman disisipkan ke dalam HTML — & menjadi &amp;, < menjadi &lt; — atau dekode teks yang penuh entitas kembali menjadi karakter yang terbaca, mencakup entitas bernama (&rarr;), rujukan numerik desimal (&#169;), dan heksadesimal (&#xA9;).

Pengodean menawarkan dua tingkat: lima karakter esensial yang merusak struktur HTML (& < > " '), yang sudah cukup untuk kebenaran; atau semua yang non-ASCII, berguna ketika ada rantai perkakas yang mengacak UTF-8 di suatu titik antara Anda dan halamannya. Mode khusus numerik melewatkan entitas bernama demi kecocokan maksimal dengan pengurai XML yang ketat, yang hanya menjamin lima entitas terdefinisi.

Bagian yang dipakai sehari-hari adalah pendekodenya: tempel cuplikan hasil scraping atau respons API yang bertaburan &#x27; lalu dapatkan teks bersih. Nama entitas yang tak dikenal diloloskan apa adanya alih-alih ditebak-tebak.

Pertanyaan yang sering diajukan

Karakter apa saja yang wajib di-escape di HTML?
Pada isi teks: & dan <. Pada nilai atribut: ditambah karakter kutip yang membatasi atribut itu (" atau '). Meng-escape > memang kebiasaan umum tetapi tidak diwajibkan. Selebihnya boleh muncul apa adanya di dalam dokumen UTF-8.
Apakah pengodean entitas melindungi dari XSS?
Meng-escape lima karakter struktural memang inti dari pengodean keluaran untuk konteks HTML — tetapi hanya untuk teks HTML dan konteks atribut. URL, string JavaScript, dan CSS punya pengodean sendiri sesuai konteksnya; escape entitas saja tidak membuat injeksi sembarangan menjadi aman di sana.
Entitas bernama atau numerik — mana yang sebaiknya dikeluarkan?
Rujukan numerik (&#xE9;) berfungsi di setiap pengurai HTML dan XML. Entitas bernama lebih enak dibaca, tetapi XML hanya mendefinisikan lima di muka, jadi &eacute; akan mematahkan alur XML/XHTML yang ketat. Kalau ragu, pilih numerik.
Kenapa di data saya muncul &amp;#39; (terenkode ganda)?
Dua lapisan masing-masing mengenkode sekali: tanda & dari pengodean pertama ikut di-escape lagi pada lintasan kedua. Dekode dua kali di sini untuk memulihkan teksnya, lalu temukan dan perbaiki lapisan yang seharusnya tidak ikut mengenkode.
Alat terkait