UltKit

Kodiranje in dekodiranje HTML entitet

Zamenjajte znake, ki jih HTML razume kot oznake, po želji tudi vse znake zunaj nabora ASCII, ali pa entitete, kot sta é in —, pretvorite nazaj v navadno besedilo. Obe smeri delujeta v vašem brskalniku, dekodiran vnos pa se nikoli ne prikaže kot delujoč HTML.

Način
Slog entitet
Escapiraj

0 znakov · 0 besed · 0 vrstic

0 znakov · 0 besed · 0 vrstic

Deluje povsem v tem zavihku brskalnika. Vaše besedilo se nikoli ne naloži in ne shrani.

Pogosti znaki in njihove entitete

Imenovane, desetiške in šestnajstiške oblike se dekodirajo v isti znak. Kodirnik pozna 216 pogostih imenovanih entitet; dekodirnik razume vse imenovane reference iz standarda HTML.

ZnakImenovaneDesetiškeŠestnajstiške
&&&&
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
"&quot;&#34;&#x22;
'&apos;&#39;&#x27;
(nelomljivi presledek)&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;

Od 252 entitet v HTML 4 do 2.231 v HTML5

Sklic na znak je način, kako zapisati znak samo z ASCII. Številčni sklici delujejo za vsako kodno točko Unicode, v decimalni (&#233;) ali šestnajstiški (&#xE9;) obliki. Poimenovane sklice si je lažje zapomniti: HTML 4 jih je določil 252, zajemajo latinične črke iz nabora Latin-1, kot je &eacute;, grške črke, matematične simbole in tipografske znake, kot sta &mdash; in &hellip;. Zanimivo je, da med njimi ni bilo &apos;; ta izvira iz XML in je v HTML postal veljaven šele s HTML5.

HTML5 je seznam razširil na 2.231 poimenovanih sklicev na znake in vanj vključil nabor entitet MathML, zato imena, kot so &check;, &bigstar; in &NotEqualTilde;, zdaj delujejo v vseh sodobnih brskalnikih. V število so všteti tudi stari zapisi brez zaključnega podpičja, na primer &amp in &copy, ki jih razčlenjevalniki zaradi združljivosti še sprejmejo, vendar jih ne smete pisati. Kodirnik tukaj ustvari splošno podprta imena iz HTML 4 in &apos;, za vse ostalo pa uporabi številčni sklic; dekodirnik preda besedilo brskalnikovemu razčlenjevalniku, zato razume vseh 2.231 imen.

Kaj kodirati in kdaj kodiranje ne zadošča

Only & < > " ' je nastavitev za vsakdanje delo: nadomesti pet znakov, ki lahko zaključijo besedilno vozlišče ali atribut v narekovajih, kar zadošča za prikaz vzorca kode na strani ali varno vstavljanje uporabnikovega besedila v HTML. Also every non-ASCII character v sklice pretvori tudi é, € in emojije, kar je namenjeno redkim kanalom, ki ne prenesejo UTF-8, na primer nekaterim starim e-poštnim predlogam ali sistemom, ki pokvarijo kodiranje. Named, Decimal in Hex spremenijo samo zapis sklica; vsi trije se dekodirajo v isti znak. Stran, shranjena v UTF-8, za naglašene črke ne potrebuje entitet.

Nadomeščanje znakov varuje samo kontekst HTML. Besedilo, vstavljeno v blok skripte, v vgrajeni obravnavalnik dogodkov, kot je onclick, v atribut style ali v href, ki se lahko začne z javascript:, zahteva drugačno obravnavo, kodiranje entitet pa tam samo po sebi ne prepreči skriptiranja med spletnimi mesti. Ogrodja, kot je React, besedilo privzeto nadomestijo sama, zato je v sodobnih aplikacijah pogostejša napaka dvojno nadomeščanje: uporabniki namesto znaka & vidijo &amp;. Če želite oznake povsem odstraniti, označbe pretvorite z orodjem HTML v TXT; za nadomeščanje znakov v naslovih URL uporabite URL kodiranje in dekodiranje.

Pogosto zastavljena vprašanja

Katere znake je treba v HTML zamenjati z entitetami?
V besedilu sta bistvena & in <, znak > pa se po dogovoru prav tako nadomesti. V vrednosti atributa nadomestite še narekovaj, ki jo omejuje. Če nadomestite vseh pet znakov, sta pokrita oba primera.
Kakšna je razlika med &nbsp; in navadnim presledkom?
&nbsp; je nedeljivi presledek, U+00A0. Videti je kot presledek, vendar na tem mestu prepreči prelom vrstice in se, za razliko od navadnih presledkov v HTML, ne strne, če jih je več skupaj.
Zakaj moja stran namesto znaka & prikazuje &amp;?
Besedilo je bilo nadomeščeno dvakrat: enkrat v vaših podatkih in nato še v predlogi ali ogrodju. Shranjujte surovo besedilo, nadomeščanje ob izpisu pa naj opravi ena plast, običajno predloga.
Ali je tukaj varno dekodirati HTML iz nezanesljivega vira?
Da. Dekodirnik vhod razčleni kot navadno besedilo, zato se oznake ne ustvarijo, skripte se ne izvedejo in slike se ne naložijo. V znake se pretvorijo samo sklici na entitete.
Ali so boljše imenske ali številske entitete?
Poimenovani so bolj berljivi, številčni pa delujejo za vsak znak in v vsakem razčlenjevalniku XML. V XML brez DTD so vnaprej določeni samo &amp;, &lt;, &gt;, &quot; in &apos;.