Text a kód / MULTIVERTO

HTML dekódování entit

Změňte HTML entity jako &, < a číselné odkazy zpět na čitelný text.

Okamžitý převodVáš vstup zůstává v prohlížeči. Text k převodu nikam neodesíláme.
Soubor zůstává ve vašem prohlížeči.
Hromadný převod
Řetězit nástroje

Každý textový nástroj použijte na předchozí výsledek.

01 / Postup

Jak to funguje

Dekodér nahradí znakové odkazy příslušnými znaky Unicode. Výstup je prostý text, nikoli vykreslené HTML.

Užitečná poznámka

Dekódovaný výsledek se zobrazuje jako text. Vložíte-li jej později do stránky jako HTML, může obsahovat značky a vyžaduje zvláštní kontrolu.

02 / Příklad

Příklad

Váš vstup<p class="pozdrav">Ahoj & vítej</p>
Výsledek<p class="pozdrav">Ahoj & vítej</p>

03 / Postup

HTML dekódování entit — Jak to funguje

Čtení zakódovaných HTML znaků

Tento směr použijte, pokud zkopírovaný řetězec obsahuje reference jako &amp;, &lt; nebo číselné reference a potřebujete čitelné původní znaky. Posloupnost zastupující ampersand se změní na ampersand; posloupnost pro znak menší než vytvoří tento znak ve výstupu. Převodník zobrazuje dekódovaný výsledek jako obyčejný text. Pomáhá to při kontrole logů, exportů nebo zpráv ošetřených pro zobrazení, v nichž reference zakrývají zamýšlenou interpunkci.

Výstup není zárukou bezpečnosti při zpracování jako značkování. Dekódování reference pro otevírací závorku může například odhalit řetězec podobný HTML značce. Pokud výsledek později vložíte pomocí innerHTML, dostane HTML význam; textContent jej ponechá jako text. Některé reference jsou pojmenované, jiné číselné, a pravidla prohlížeče mají výjimky. Záleží-li na přesném zpětném převodu, porovnejte původní bajty a cílový parser místo předpokladu, že dvojité ošetření vyřeší jediný krok.

HTML entity a kontext prohlížeče

HTML vyhrazuje znaky jako ampersand a ostré závorky pro značkování. Znakové reference umožňují zapsat je jako data: &amp; například zastupuje ampersand a &lt; znak menší než. Prohlížeč je interpretuje při zpracování HTML. Existují pojmenované i číselné reference, ale jejich význam závisí na kontextu, v němž je čte HTML parser. Text podobný entitě v obyčejném souboru ještě neznamená, že byl soubor vykreslen jako HTML.

Je důležité rozlišovat textový obsah a spustitelné značkování. Bezpečné zobrazení textu od uživatele na stránce není totéž jako vložení důvěryhodného HTML fragmentu. Textový uzel, atribut, URL, pravidlo CSS i řetězec JavaScriptu vyžadují odlišné ošetření. Převod entit je způsob zápisu, nikoli úplná bezpečnostní politika ani sanitizace HTML. Pro konkrétní místo vložení hodnoty použijte vhodné šablony nebo rozhraní DOM.

Před dekódováním ověřte zakódovaný zdroj

Začněte hodnotou, která je skutečně zapsána očekávaným způsobem. Vložte zakódovanou komponentu nebo sled bajtů a porovnejte čitelný výstup se záznamem, odkud pochází. Dekodér běží v tomto prohlížeči a řetězec neposílá na server ke konverzi. Poškozený vstup nebo jiný formát může podle operace selhat či zůstat částečně beze změny. Uchovejte původní zakódovanou hodnotu, abyste věděli, zda nečekaný znak pocházel ze zdroje nebo z vaší interpretace.

Dekódovaný text považujte za nový, potenciálně nedůvěryhodný vstup. Čitelná věta může obsahovat značkování, URL, text podobný příkazu nebo soukromé údaje, které je nutné ošetřit zvlášť. Nevkládejte ji do spustitelného kontextu jen proto, že dekódování prošlo. Pokud výsledek nesedí, ověřte deklarované kódování znaků a zda dřívější systém hodnotu nezakódoval víckrát. Opakované dekódování bez znalosti vrstev může změnit doslovný oddělovač v aktivní strukturu.

Jak se vstup mění na výsledek
HTML entity
Znakové odkazy
Dekódovaný text