UltKit

HTML entity kodlayıcı və dekoder

HTML-in teq kimi qəbul etdiyi simvolları, istəsəniz bütün qeyri-ASCII simvolları da entity-lərə çevirin, ya da é və — kimi entity-ləri adi mətnə qaytarın. Hər iki istiqamət brauzerinizdə işləyir və deşifrə edilmiş mətn heç vaxt canlı HTML kimi göstərilmir.

Rejim
Entity üslubu
Ekranlaşdır

0 simvol · 0 söz · 0 sətir

0 simvol · 0 söz · 0 sətir

Tamamilə bu brauzer səkməsində işləyir. Mətniniz heç vaxt yüklənmir və saxlanmır.

Geniş yayılmış simvollar və onların entity-ləri

Adlı, onluq və onaltılıq formalar eyni simvola dekodlanır. Kodlayıcı 216 geniş yayılmış adlı entity-ni tanıyır; dekoder HTML standartındakı bütün adlı istinadları başa düşür.

SimvolAdlıOnluqHex
&&&&
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
"&quot;&#34;&#x22;
'&apos;&#39;&#x27;
(bölünməz boşluq)&nbsp;&#160;&#xA0;
©&copy;&#169;&#xA9;
®&reg;&#174;&#xAE;
™&trade;&#8482;&#x2122;
€&euro;&#8364;&#x20AC;
£&pound;&#163;&#xA3;
¥&yen;&#165;&#xA5;
—&mdash;&#8212;&#x2014;
–&ndash;&#8211;&#x2013;
…&hellip;&#8230;&#x2026;
«&laquo;&#171;&#xAB;
»&raquo;&#187;&#xBB;
°&deg;&#176;&#xB0;
×&times;&#215;&#xD7;
÷&divide;&#247;&#xF7;
é&eacute;&#233;&#xE9;
π&pi;&#960;&#x3C0;
→&rarr;&#8594;&#x2192;
😀—&#128512;&#x1F600;

HTML 4-dəki 252 entity-dən HTML5-dəki 2 231 entity-yə

Simvol istinadı simvolu yalnız ASCII ilə yazmaq üsuludur. Rəqəmli istinadlar istənilən Unicode kod nöqtəsi üçün işləyir: onluq (&#233;) və ya onaltılıq (&#xE9;) yazılışda. Adlı istinadları yadda saxlamaq daha asandır: HTML 4 onlardan 252-ni müəyyən etmişdi; bunlara &eacute; kimi Latin-1 hərfləri, Yunan hərfləri, riyazi simvollar və &mdash;, &hellip; kimi tipoqrafik işarələr daxildir. Maraqlıdır ki, &apos; bu siyahıda yox idi; o XML-dən gəlib və yalnız HTML5 ilə HTML-də keçərli olub.

HTML5 siyahını 2 231 adlı simvol istinadına qədər genişləndirdi və MathML entiti dəstini də özünə qatdı, buna görə &check;, &bigstar; və &NotEqualTilde; kimi adlar indi bütün müasir brauzerlərdə işləyir. Bu say &amp və &copy kimi bağlayıcı nöqtəli vergülsüz köhnə yazılışları da əhatə edir; parserlər onları uyğunluq üçün hələ də qəbul edir, lakin onları yazmaq olmaz. Buradakı kodlaşdırıcı geniş dəstəklənən HTML 4 adlarını və &apos; istinadını yaradır, qalan hər şey üçün rəqəmli istinada keçir; dekoder isə mətni brauzerin öz parserinə verir, ona görə 2 231 adın hamısını başa düşür.

Nəyi escape etmək lazımdır və escape nə vaxt kifayət etmir

Only & < > " ' gündəlik iş üçün ayardır: mətn düyününü və ya dırnaqlı atributu bitirə bilən beş simvolu ekranlaşdırır, bu da səhifədə kod nümunəsi göstərmək və ya istifadəçi mətnini HTML-ə təhlükəsiz yerləşdirmək üçün kifayətdir. Also every non-ASCII character é, € və emoji simvollarını da istinada çevirir; bu, bəzi köhnə e-poçt şablonları və ya kodlaşdırmanı pozan sistemlər kimi UTF-8 daşıya bilməyən nadir kanallar üçündür. Named, Decimal və Hex yalnız istinadın necə yazılacağını dəyişir; üçü də eyni simvola dekodlanır. UTF-8 kimi saxlanmış səhifədə vurğulu hərflər üçün entitilər lazım deyil.

Ekranlaşdırma yalnız HTML kontekstini qoruyur, başqa heç nəyi. Script blokuna, onclick kimi sətirdaxili hadisə işləyicisinə, style atributuna və ya javascript: ilə başlaya bilən href-ə yerləşdirilən mətn başqa cür işlənməlidir və orada təkcə entiti kodlaşdırması saytlararası skriptinqin (XSS) qarşısını almır. React kimi freymvorklar mətni susmaya görə ekranlaşdırır, ona görə müasir tətbiqlərdə daha çox rast gəlinən xəta ikiqat ekranlaşdırmadır: istifadəçilər ampersand olmalı yerdə &amp; görür. Teqləri tamamilə silmək üçün markanı HTML-dən TXT-yə vasitəsilə çevirin; URL daxilində ekranlaşdırma üçün URL kodlaşdırma və dekodlaşdırma alətindən istifadə edin.

Tez-tez verilən suallar

HTML-də hansı simvollar mütləq escape edilməlidir?
Mətndə əsas simvollar & və <-dir, > isə ənənəyə görə ekranlaşdırılır. Atribut dəyərinin daxilində onu məhdudlaşdıran dırnaq simvolunu da ekranlaşdırın. Beşinin hamısını ekranlaşdırmaq hər iki halı əhatə edir.
&nbsp; ilə adi boşluq arasında nə fərq var?
&nbsp; bölünməyən boşluqdur, U+00A0. O, adi boşluğa bənzəyir, lakin həmin yerdə sətir keçidinin qarşısını alır və HTML-dəki adi boşluqlardan fərqli olaraq bir neçəsi yanaşı gələndə birləşdirilmir.
Səhifəm niyə ampersand əvəzinə &amp; göstərir?
Mətn iki dəfə ekranlaşdırılıb: bir dəfə datanızda, bir dəfə də şablon və ya freymvorkunuz tərəfindən. Xam mətni saxlayın və ekranlaşdırmanı çıxış zamanı yalnız bir qat, adətən şablon, etsin.
Etibarsız mənbədən gələn HTML-i burada deşifrə etmək təhlükəsizdirmi?
Bəli. Dekoder girişi sadə mətn məzmunu kimi emal edir, buna görə teqlər yaranmır, skriptlər işləmir və şəkillər yüklənmir. Yalnız entiti istinadları simvollara çevrilir.
Adlı entity-lər yaxşıdır, yoxsa rəqəmli?
Adlı istinadları oxumaq daha asandır, rəqəmlilər isə hər simvol üçün və hər XML parserində işləyir. DTD olmayan XML-də yalnız &amp;, &lt;, &gt;, &quot; və &apos; əvvəlcədən müəyyən edilib.