HTML Entity Encoder & Decoder

Escape teks supaya selamat dimasukkan ke dalam HTML, atau tukar entiti seperti & dan € kembali kepada aksara yang boleh dibaca.

Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik

Dikodkan

Cara menggunakan HTML Entity Encoder / Decoder

  1. Pilih Kodkan untuk escape teks, atau Nyahkod untuk menukar entiti kembali kepada aksara.
  2. Semasa mengekod, pilih aksara yang hendak di-escape: hanya aksara khas HTML, semua aksara bukan ASCII juga, atau semua kecuali huruf dan digit.
  3. Pilih entiti bernama (é), perpuluhan (é) atau hex (é).
  4. Salin hasilnya. Semasa menyahkod, entiti yang tidak dikenali disenaraikan supaya anda dapat mengesan kesilapan ejaan.

Mengapa perlu escape HTML?

Lima aksara mempunyai makna khas dalam HTML: & memulakan entiti, < dan > membatasi tag, serta " dan ' menutup nilai atribut. Jika teks yang dibekalkan pengguna yang mengandungi aksara ini dimasukkan ke dalam halaman tanpa di-escape, ia boleh merosakkan susun atur atau, lebih teruk lagi, menyuntik skrip (cross-site scripting, XSS). Escape menukarnya kepada &amp;, &lt;, &gt;, &quot; dan &#x27;, yang dipaparkan oleh pelayar sebagai teks.

Entiti bernama, perpuluhan dan hex

Setiap aksara Unicode boleh ditulis sebagai rujukan berangka: perpuluhan &#8364; atau hex &#x20AC; untuk €. Banyak aksara biasa juga mempunyai nama yang mudah dibaca, seperti &euro;, &copy; atau &nbsp;. Rujukan berangka berfungsi di mana-mana, termasuk XML, yang hanya mentakrifkan lima entiti bernama. Entiti bernama lebih mudah dibaca dalam kod sumber.

Perlukah saya mengekod aksara bukan ASCII?

Tidak, jika halaman anda dihidangkan sebagai UTF-8, seperti hampir semua laman moden (<meta charset="utf-8">). Aksara seperti é, ü atau 日本 boleh ditulis terus. Mengekodnya berguna untuk sistem lama, templat e-mel, atau apabila sesuatu pipeline merosakkan teks bukan ASCII.

Escape bergantung pada konteks

Escape entiti HTML melindungi teks yang diletakkan dalam kandungan elemen dan atribut berpetikan. Ia tidak mencukupi untuk nilai di dalam blok <script>, pengendali acara sebaris, CSS atau URL, yang masing-masing memerlukan pengekodan tersendiri. Utamakan auto-escaping rangka kerja anda (React, Vue, Jinja, Blade) berbanding membina rentetan secara manual.

Soalan lazim

Aksara manakah yang mesti di-escape dalam HTML?
Dalam kandungan teks, & dan < adalah wajib. Dalam nilai atribut, escape juga aksara petikan yang anda gunakan. Escape kelima-limanya (& < > " ') ialah pilihan lalai yang selamat.
Apakah itu &amp;nbsp;?
Ruang tidak putus (U+00A0). Ia kelihatan seperti ruang tetapi menghalang pemisah baris dan tidak digabungkan dengan ruang di sebelahnya.
Mengapa &amp;copy2024 dinyahkod menjadi ©2024?
Untuk keserasian ke belakang, pelayar menyahkod beberapa entiti lama, seperti &copy, &amp dan &lt, walaupun tanpa koma bertitik di hujung. Penyahkod ini mengikut peraturan yang sama. Sentiasa tulis koma bertitik dalam HTML anda sendiri.
Adakah apostrofi &amp;apos; atau &amp;#39;?
&apos; sah dalam HTML5 dan XML tetapi tidak dalam HTML 4, jadi &#39; atau &#x27; berangka ialah pilihan paling serasi dan itulah yang dihasilkan oleh pengekod ini.

Alat berkaitan