Text a kód / MULTIVERTO

HTML dekódovanie entít

Zmeňte HTML entity ako &, < a číselné odkazy späť na čitateľný text.

Okamžitý prevodVáš vstup zostáva v prehliadači. Text na prevod nikam neodosielame.
Súbor zostáva vo vašom prehliadači.
Hromadný prevod
Reťaziť nástroje

Každý textový nástroj použite na predchádzajúci výsledok.

01 / Postup

Ako to funguje

Dekodér nahradí znakové odkazy príslušnými znakmi Unicode. Výstup je obyčajný text, nie vykreslené HTML.

Užitočná poznámka

Dekódovaný výsledok sa zobrazuje ako text. Ak ho neskôr vložíte do stránky ako HTML, môže obsahovať značky a treba ho osobitne skontrolovať.

02 / Príklad

Príklad

Váš vstup<p class="pozdrav">Ahoj & vitaj</p>
Výsledok<p class="pozdrav">Ahoj & vitaj</p>

03 / Postup

HTML dekódovanie entít — Ako to funguje

Čítanie zakódovaných HTML znakov

Tento smer použite, keď skopírovaný reťazec obsahuje referencie ako &amp;, &lt; alebo číselné referencie a potrebujete čitateľné pôvodné znaky. Sekvencia predstavujúca ampersand sa zmení na ampersand; sekvencia pre znak menší ako dá tento znak vo výstupe. Prevodník zobrazuje dekódovaný výsledok ako obyčajný text. Pomáha to pri kontrole logov, exportov alebo správ ošetrených pre zobrazenie, v ktorých referencie zakrývajú zamýšľanú interpunkciu.

Výstup nie je zárukou bezpečnosti pri spracovaní ako značkovanie. Dekódovanie referencie pre otváraciu zátvorku môže napríklad odhaliť reťazec podobný HTML značke. Ak výsledok neskôr vložíte pomocou innerHTML, dostane HTML význam; textContent ho ponechá ako text. Niektoré referencie sú pomenované, iné číselné, a pravidlá prehliadača majú výnimky. Ak záleží na presnom spätnom prevode, porovnajte pôvodné bajty a cieľový parser namiesto predpokladu, že dvojité ošetrenie vyrieši jediný krok.

HTML entity a kontext prehliadača

HTML vyhradzuje znaky ako ampersand a ostré zátvorky pre značkovanie. Znakové referencie umožňujú zapísať ich ako dáta: &amp; napríklad predstavuje ampersand a &lt; znak menší ako. Prehliadač ich interpretuje pri spracovaní HTML. Existujú pomenované aj číselné referencie, no ich význam závisí od kontextu, v ktorom ich číta HTML parser. Text podobný entite v obyčajnom súbore ešte neznamená, že bol tento súbor vykreslený ako HTML.

Je dôležité rozlišovať textový obsah a vykonateľné značkovanie. Bezpečné zobrazenie textu od používateľa na stránke nie je to isté ako vloženie dôveryhodného HTML fragmentu. Textový uzol, atribút, URL, pravidlo CSS aj reťazec JavaScriptu majú odlišné požiadavky na ošetrenie. Prevod entít je spôsob zápisu, nie úplná bezpečnostná politika ani sanitizácia HTML. Na konkrétne miesto vloženia hodnoty použite vhodné šablóny alebo rozhranie DOM.

Pred dekódovaním overte zakódovaný zdroj

Začnite hodnotou, ktorá je skutočne zapísaná očakávaným spôsobom. Vložte zakódovaný komponent alebo sled bajtov a porovnajte čitateľný výstup so záznamom, z ktorého pochádza. Dekodér beží v tomto prehliadači a reťazec neposiela na server na konverziu. Poškodený vstup alebo iný formát môže podľa operácie zlyhať či zostať čiastočne nezmenený. Zachovajte pôvodnú zakódovanú hodnotu, aby ste vedeli, či nečakaný znak pochádzal zo zdroja alebo z vašej interpretácie.

Dekódovaný text považujte za nový, potenciálne nedôveryhodný vstup. Čitateľná veta môže obsahovať značkovanie, URL, text podobný príkazu alebo súkromné údaje, ktoré treba ošetriť samostatne. Nevkladajte ju do vykonateľného kontextu len preto, že dekódovanie prešlo. Ak výsledok nesedí, overte deklarované kódovanie znakov a či skorší systém hodnotu nezakódoval viackrát. Opakované dekódovanie bez poznania vrstiev môže zmeniť doslovný oddeľovač na aktívnu štruktúru.

Ako sa mení vstup na výsledok
HTML entity
Znakové odkazy
Dekódovaný text