HTML Entity Nedir ve Neden Kullanılır?

HTML ayrıştırıcıları belirli karakterleri işaretleme sözdiziminin parçası sayar. Küçüktür ve büyüktür işaretleri etiket sınırlarını belirler, ampersand karakter referansını başlatır, tırnaklar ise öznitelik değerlerini sınırlar. Bu karakterler metin olarak görünmesi gereken yerde ham biçimde yazılırsa sayfanın yapısı beklenmedik şekilde değişebilir.

Entity referansları bu karakterleri metin olarak ifade etmenin standart yoludur. Araç; kaynak kod örneklerini sayfada göstermeye hazırlarken, şablonlardaki sözdizimi çakışmalarını ayıklarken ve dış kaynaklardan gelen kodlanmış metni okurken işe yarar.

Beş Karakter, Üç Çıktı Biçimi ve Çözme Sözleşmesi

Kodlama yalnızca beş karakteri dönüştürür. Türkçe harfler, diğer yazı sistemleri ve emoji olduğu gibi kalır:

  • Ampersand (&): Adlandırılmış modda &, ondalık modda &, onaltılık modda &
  • Küçüktür (<): Adlandırılmış modda &lt;, ondalık modda &#60;, onaltılık modda &#x3c;
  • Büyüktür (>): Adlandırılmış modda &gt;, ondalık modda &#62;, onaltılık modda &#x3e;
  • Çift tırnak ("): Adlandırılmış modda &quot;, ondalık modda &#34;, onaltılık modda &#x22;
  • Tek tırnak ('): Adlandırılmış modda &apos;, ondalık modda &#39;, onaltılık modda &#x27;

Çözme modunun sözleşmesi bilerek dardır. Desteklenen adlar amp, lt, gt, quot, apos ve nbsp adlarıdır; adlar büyük ve küçük harfe duyarlıdır. Bunlara ek olarak noktalı virgülle biten geçerli ondalık ve onaltılık Unicode skalar referansları çözülür. Başka adlar (&copy; gibi) özgün biçiminde korunur ve uyarı verilir. NUL, vekil (surrogate) aralığı veya sınır dışı sayılar da korunur ve uyarı verilir.

Çözme tek geçişlidir: &amp;lt; ilk işlemde &lt; olur, ikinci bir çözme yapılmaz. Karakter sayısı, kullanıcının algıladığı karakter birimiyle (grapheme) hesaplanır; bir emoji tek karakter sayılır.

Noktalı Virgül Sözleşmesi ve Tarayıcı Ayrıştırması

Bu araç bir referansı yalnızca ; ile bitiyorsa çözer; &amp veya &#38 çözülmeden kalır. Bu, tam HTML5 ayrıştırması değil, bilinçli ve sınırlı bir araç sözleşmesidir. WHATWG tablosunda bazı eski adların noktalı virgülsüz biçimleri de ayrıca listelenir; tarayıcı ayrıştırıcıları bu yüzden bazı referansları noktalı virgül olmadan da çözebilir. Bu araç aynı davranışı taklit etmez ve tablodaki bütün adları kopyalamaz.

Sonuç olarak aracın çıktısı ile bir tarayıcının aynı metni ayrıştırması her zaman aynı olmak zorunda değildir. Kesin tarayıcı davranışına ihtiyacınız varsa hedef tarayıcıda ayrıca deneyin.

Güvenlik Sınırları ve Bağlamlar

Beş karakterin kodlanması HTML metin düğümleri ve doğru biçimde tırnak içine alınmış öznitelik değerleri için uygundur. Tırnaksız öznitelikler, betik blokları, onclick gibi olay işleyici öznitelikleri, CSS ve URL öznitelikleri bu aracın kapsamı dışındadır; her bağlamın kendi kaçış kuralları vardır. Kodlanmış metin her bağlamda kendiliğinden güvenli sayılmaz.

Örneğin href değerinde javascript: adresi entity ile kodlanmış olsa bile tarayıcı öznitelik değerini çözdükten sonra adresi yorumlar. Çözülmüş çıktıyı innerHTML ile sayfaya yazmak da etiketleri yeniden etkinleştirir. Güvenli veri işleme için bağlama uygun şablon kaçışı ve içerik güvenlik ilkesi gibi önlemler gerekir; modern tip güvenliği hakkında TypeScript ile Modern Web Projeleri yazısına bakabilirsiniz.

Girdinin Nereye Gitmediği ve Paylaşım Bağlantısı

Bu aracın kodu girdiğiniz metni bir sunucuya göndermez, tarayıcı depolamasına yazmaz ve paylaşım bağlantısına eklemez. Dönüşüm tarayıcının JavaScript çalışma zamanında saf metin işlemiyle yapılır; çözme sırasında DOMParser, innerHTML, iframe veya eval kullanılmaz. </textarea> ve <img> gibi etiketler içeren girdi yalnızca metin olarak işlenir. Bu ifade aracın kendi davranışı içindir; sayfa yüklenirken tarayıcı siteye ait dosyalar için normal ağ istekleri yapar.

Paylaşım bağlantısı yalnızca seçtiğiniz modu ve çıktı biçimini taşır. Girdiğiniz metin bağlantıya eklenmez ve bağlantı açıldığında geri yüklenmez.

Kaynak ve Kontrol Tarihi

Bu sayfadaki adlandırılmış referans bilgisi 25.10.2026 tarihinde WHATWG HTML adlandırılmış karakter referansları tablosuyla kontrol edildi. Tablo çok daha fazla ad içerir; aracın küçük destek kümesi bir tasarım tercihidir ve tablonun yerine geçmez.

Sık sorulan sorular

HTML entity kodlama XSS açıklarını tamamen engeller mi?

Hayır. Beş karakterin kodlanması metin düğümleri ve doğru tırnaklanmış öznitelikler için uygundur. Betik, olay işleyici, URL, CSS ve tırnaksız öznitelik bağlamları bu aracın kapsamı dışındadır ve bağlama özgü kaçış gerektirir.

Neden ASCII dışı karakterler kodlanmıyor?

Belge UTF-8 olarak sunuluyorsa Türkçe harfler ve emoji doğrudan yazılabilir. Gereksiz entity kodları okunabilirliği azaltır. Araç yalnızca işaretleme sözdizimine karışan beş karakteri dönüştürür.

Noktalı virgülsüz referanslar neden çözülmüyor?

Bu araç bilinçli olarak yalnızca noktalı virgülle biten referansları çözer. Tarayıcı ayrıştırıcıları bazı eski adları noktalı virgülsüz de kabul edebilir; araç bu davranışı taklit etmez ve tam HTML5 ayrıştırıcısı olduğunu iddia etmez.

Tek kat çözme ne anlama gelir?

Girdi tek geçişte çözülür. &amp;lt; ifadesi &lt; olur ve ikinci kez çözülmez. Bu, çift çözümlemeden kaynaklanan sürprizleri görünür kılar.

Desteklenmeyen bir entity ile karşılaşılırsa ne olur?

amp, lt, gt, quot, apos ve nbsp dışındaki adlar özgün metin olarak korunur ve bir uyarı gösterilir. Büyük harfli &AMP; gibi biçimler de bu kapsamdadır.

Girdiğim metin paylaşım bağlantısına eklenir mi?

Hayır. Bağlantı yalnızca modu ve çıktı biçimini taşır; metin eklenmez ve bağlantıdan geri yüklenmez.

Yayın: · Güncelleme: