Encoder/Decoder entitas HTML

Ubah &, <, >, " dan ' menjadi entitas HTML yang aman, atau kembalikan entitas menjadi karakter aslinya. Hasil muncul seketika di browser Anda.

Semua diproses secara lokal di browser Anda. Teks Anda tidak pernah meninggalkan perangkat.

—

Cara kerja

Mode Escape menjalankan teks Anda melalui lima penggantian dalam urutan tetap: ampersan diproses lebih dulu (& → &amp;), lalu <, >, tanda kutip ganda (&quot;) dan tanda kutip tunggal (&#39;). Mengerjakan & lebih dulu itulah yang menjaga hasilnya benar — jika Anda meng-escape < sebelum &, ampersand yang diperkenalkan penggantian sebelumnya akan ter-escape untuk kedua kalinya. Mode Unescape bekerja terbalik dengan menyerahkan teks Anda ke parser HTML browser lewat elemen textarea terpisah, sehingga setiap entitas bernama atau numerik yang dikenali parser kembali sebagai karakter biasa.

Menampilkan potongan kode dengan aman
Tutorial yang ingin menampilkan sebagai teks terlihat harus menulis &lt;div&gt; di sumbernya, kalau tidak browser akan menelannya sebagai markup dan kodenya hilang. Tempelkan kode Anda ke mode Escape dan Anda mendapat sup entitas untuk disematkan — serta halaman yang menampilkan tag secara literal.
Escape menghentikan injeksi HTML
Ketika sebuah situs memasukkan input pengguna langsung ke halaman, komentar berisi menjadi kode hidup — itulah cross-site scripting. Meng-escape setiap karakter khusus saat keluaran mengubah payload itu menjadi teks mati seperti &lt;script&gt;, karena itulah escape keluaran menjadi pertahanan default untuk konten pengguna yang dirender.
Penguraian membalik entitas bernama dan numerik
&amp;amp;, &#65; dan &#x41; semuanya terurai kembali menjadi karakter aslinya, termasuk entitas bernama HTML5 tanpa titik koma penutup. Parser menuntaskan semuanya sementara textarea tetap terpisah dari dokumen, sehingga tidak ada skrip yang berjalan selama penguraian.

Pertanyaan yang sering diajukan

Apakah escape sama dengan sanitasi?

Tidak, dan perbedaannya penting untuk keamanan. Escape mengubah setiap karakter khusus menjadi teks mati, sehingga tidak ada markup atau skrip yang bertahan — ini alat yang tepat ketika Anda ingin menampilkan konten apa apa adanya. Sanitasi mempertahankan subset aman HTML asli (paragraf, tautan, tebal) dan menghapus sisanya, yang membutuhkan parser daftar-izin dan jauh lebih mudah salah. Pakai escape secara default; gunakan sanitizer terverifikasi hanya bila Anda benar-benar butuh format dari pengguna.

Karakter mana yang perlu di-escape dalam HTML?

Lima karakter yang ditangani encoder ini mencakup set berbahaya: & mengawali setiap entitas, < membuka tag, > menutupnya, dan tanda kutip " serta ' bisa meloloskan diri dari nilai atribut. Tanda sudut hanya fatal di posisi teks, tetapi tanda kutip membunuh Anda di atribut, jadi kelima-duanya escape di mana pun adalah aturan murah tanpa konteks yang tidak pernah gagal.

Mengapa & tampil sebagai &amp;amp; setelah di-escape dua kali?

Karena escape bersifat literal: & di dalam &amp; ikut di-escape menjadi &amp;amp;, sehingga browser kini menampilkan teks '&amp;' alih-alih '&'. Escape berlaku satu arah per lintasan — jika Anda tidak yakin konten sudah di-escape, gunakan Unescape sampai stabil, lalu escape tepat satu kali saat merender.

Apakah decoder menangani entitas numerik seperti &#233;?

Ya. Unescape memakai parser HTML milik browser melalui elemen textarea yang dilepaskan dari dokumen, yang menuntaskan seluruh set standar: entitas bernama (&lt;, &nbsp;, &euro;), referensi desimal (&#233;) dan heksadesimal (&#x00E9;), termasuk entitas bernama HTML5 modern dengan atau tanpa titik koma penutup.

Apakah ada yang diunggah ke server?

Tidak. Escape dan unescape hanyalah beberapa baris JavaScript murni yang berjalan di browser Anda, dan decoder memakai simpul DOM terpisah yang tidak pernah ditempelkan ke halaman. Teks Anda tidak pernah meninggalkan perangkat, tanpa akun, pelacakan, atau permintaan jaringan.