HTML entity enkodér a dekodér
Vložte text nebo HTML kód a hned uvidíte jeho podobu s entitami. Funguje to i obráceně: z <p> nebo dostanete zpět původní znaky.
Jak používat HTML entity enkodér
- 1 Vyberte směr. Zakódovat změní znaky na entity, Dekódovat převede entity zpět na znaky.
- 2 Napište nebo vložte text. Výsledek se zobrazuje průběžně, nic není potřeba potvrzovat.
-
3
Při kódování si zvolte, zda se mají změnit jen znaky
<,>,&,"a', nebo i diakritika a symboly, a v jakém formátu mají entity být. - 4 Výsledek zkopírujte tlačítkem Kopírovat. Tlačítkem Prohodit ho přesunete do vstupu a ověříte, že jde převést zpět.
Co nástroj umí
- dekóduje všechny pojmenované entity z HTML5, kterých je přes 2 000, i číselné entity, přesně tak jako prohlížeč
-
správně převede i emoji, například
😀na 😀 - upozorní, když text už entity obsahuje nebo byl zakódován dvakrát, a opravu nabídne jedním kliknutím
- při kódování nabízí pojmenované, desítkové i šestnáctkové entity
- zalomení řádků, tabulátory a ostatní text ponechá beze změny
- vše zpracovává přímo ve vašem prohlížeči, nic se neodesílá na server
Co jsou HTML entity
HTML entita je zápis znaku pomocí běžných písmen a číslic. Začíná znakem & a končí středníkem: < znamená znak < a © znak ©. Entity potřebujete hlavně u znaků, které mají v HTML vlastní význam. Kdybyste do stránky napsali <b> přímo, prohlížeč by ho považoval za značku a následující text by zobrazil tučně. Zápis <b> se naopak zobrazí přesně jako <b>.
Jaký je rozdíl mezi HTML entitou a Unicode?
Unicode je celosvětová tabulka znaků, ve které má každý znak své číslo, například © má číslo 169 (U+00A9). HTML entita je jen způsob, jak takový znak zapsat do HTML kódu. Číselná entita © přímo obsahuje číslo z Unicode, pojmenovaná © je jeho čitelná zkratka. Na stránce v UTF-8 můžete znak napsat i přímo, výsledek je stejný.
Které znaky je v HTML nutné nahradit entitou
Na stránce v kódování UTF-8 musíte nahradit jen pět znaků. Ostatní, včetně diakritiky, můžete psát přímo. První z nich, &, se jmenuje ampersand. Vznikl spojením písmen latinského slova et, tedy „a“.
| Znak | Entita | Kdy ho nahradit |
|---|---|---|
| & | & | Vždy. Jinak se text za ním může přečíst jako entita, například ©=2 se v textu stránky zobrazí jako ©=2. |
| < | < | Vždy v textu. Prohlížeč by ho považoval za začátek značky. |
| > | > | Není to povinné, ale nahrazuje se spolu se znakem <, aby byl kód čitelný. |
| " | " | V hodnotě atributu v uvozovkách, například title="...". |
| ' | ' | V hodnotě atributu v apostrofech, například title='...'. |
Právě těchto pět znaků nahrazuje funkce htmlspecialchars v PHP a automatické escapování v šablonách Blade, Twig či React.
Pojmenované, desítkové a šestnáctkové entity
Tentýž znak lze zapsat třemi způsoby. Prohlížeč je zobrazí stejně, liší se jen zápisem.
-
Pojmenovaná entita jako
©se snadno čte, ale vlastní název má jen část znaků. -
Desítková entita
©obsahuje číslo znaku v Unicode a funguje pro každý znak, i pro emoji. -
Šestnáctková entita
©je totéž číslo v šestnáctkové soustavě, ve které se Unicode běžně uvádí, například U+00A9.
| Znak | Pojmenovaná | Desítková | Šestnáctková |
|---|---|---|---|
| © | © | © | © |
| → | → | → | → |
| č | č | č | č |
| 😀 | bez názvu | 😀 | 😀 |
U názvů entit záleží na velikosti písmen: Ř je velké Ř, ř malé ř.
Seznam HTML entit a speciálních znaků
Nejpoužívanější entity rozdělené do skupin. Kliknutím na entitu ji zkopírujete. Hledat můžete podle názvu, popisu, samotného znaku i podle čísla, například 8226.
| Znak | Pojmenovaná | Desítková | |||
|---|---|---|---|---|---|
| Speciální znaky a mezery | |||||
| ampersand (a) | |||||
| menší než | |||||
| větší než | |||||
| uvozovky | |||||
| apostrof | |||||
| pevná (nezlomitelná) mezera | |||||
| podmíněné dělení slova | |||||
| mezera šířky písmene n | |||||
| mezera šířky písmene m | |||||
| úzká mezera | |||||
| bez názvu úzká pevná mezera | |||||
| mezera s nulovou šířkou | |||||
| Typografie | |||||
| pomlčka | |||||
| dlouhá pomlčka | |||||
| tři tečky (výpustka) | |||||
| dolní uvozovky | |||||
| horní uvozovky | |||||
| pravé horní uvozovky | |||||
| dolní jednoduchá uvozovka | |||||
| horní jednoduchá uvozovka | |||||
| pravá jednoduchá uvozovka, apostrof | |||||
| francouzské uvozovky vlevo | |||||
| francouzské uvozovky vpravo | |||||
| jednoduchá lomená uvozovka vlevo | |||||
| jednoduchá lomená uvozovka vpravo | |||||
| tečka uprostřed | |||||
| odrážka | |||||
| křížek | |||||
| dvojitý křížek | |||||
| paragraf | |||||
| znak odstavce | |||||
| copyright | |||||
| registrovaná ochranná známka | |||||
| ochranná známka | |||||
| stupeň | |||||
| promile | |||||
| minuta, stopa | |||||
| sekunda, palec | |||||
| znak čísla | |||||
| Šipky | |||||
| šipka doleva | |||||
| šipka doprava | |||||
| šipka nahoru | |||||
| šipka dolů | |||||
| oboustranná šipka | |||||
| šipka nahoru a dolů | |||||
| šipka doleva nahoru | |||||
| šipka doprava nahoru | |||||
| šipka doprava dolů | |||||
| šipka doleva dolů | |||||
| dvojitá šipka doleva | |||||
| dvojitá šipka doprava, z toho plyne | |||||
| dvojitá šipka nahoru | |||||
| dvojitá šipka dolů | |||||
| dvojitá oboustranná šipka, právě tehdy když | |||||
| dlouhá šipka doprava | |||||
| bez názvu tučná šipka doprava | |||||
| šipka Enter | |||||
| bez názvu symbol klávesy Enter | |||||
| bez názvu plný trojúhelník nahoru | |||||
| bez názvu plný trojúhelník dolů | |||||
| trojúhelník doprava | |||||
| trojúhelník doleva | |||||
| trojúhelník nahoru | |||||
| trojúhelník dolů | |||||
| Matematika | |||||
| krát, násobení | |||||
| děleno | |||||
| plus minus | |||||
| minus | |||||
| nerovná se | |||||
| menší nebo rovno | |||||
| větší nebo rovno | |||||
| přibližně rovno | |||||
| je totožné | |||||
| nekonečno | |||||
| odmocnina | |||||
| suma | |||||
| součin | |||||
| integrál | |||||
| parciální derivace | |||||
| patří do množiny | |||||
| prázdná množina | |||||
| průnik | |||||
| sjednocení | |||||
| negace | |||||
| pro všechna | |||||
| existuje | |||||
| jedna polovina | |||||
| jedna třetina | |||||
| jedna čtvrtina | |||||
| tři čtvrtiny | |||||
| horní index 1 | |||||
| na druhou | |||||
| na třetí | |||||
| mikro | |||||
| pí | |||||
| alfa | |||||
| beta | |||||
| gama | |||||
| velká delta | |||||
| lambda | |||||
| sigma | |||||
| velká omega, ohm | |||||
| Měny | |||||
| euro | |||||
| libra | |||||
| jen | |||||
| cent | |||||
| obecný symbol měny | |||||
| bez názvu bitcoin | |||||
| Symboly a emoji | |||||
| fajfka | |||||
| bez názvu tučná fajfka | |||||
| křížek | |||||
| bez názvu tučný křížek | |||||
| bez názvu zelená fajfka (emoji) | |||||
| bez názvu červený křížek (emoji) | |||||
| bez názvu výstraha | |||||
| plná hvězdička | |||||
| prázdná hvězdička | |||||
| srdce | |||||
| káro | |||||
| kříže | |||||
| piky | |||||
| telefon | |||||
| nota | |||||
| žena | |||||
| muž | |||||
| bez názvu plný kroužek | |||||
| kroužek | |||||
| velký kroužek | |||||
| bez názvu malý prázdný kroužek | |||||
| tečka nad písmenem | |||||
| bez názvu plný čtverec | |||||
| prázdný čtverec | |||||
| malý plný čtverec | |||||
| kosočtverec | |||||
| maltézský kříž | |||||
| bez názvu usměvavý smajlík | |||||
| bez názvu palec nahoru | |||||
| Interpunkce a ASCII | |||||
| mřížka (hashtag) | |||||
| zavináč | |||||
| podtržítko | |||||
| hvězdička | |||||
| lomítko | |||||
| zpětné lomítko | |||||
| svislá čára | |||||
| levá kulatá závorka | |||||
| pravá kulatá závorka | |||||
| levá hranatá závorka | |||||
| pravá hranatá závorka | |||||
| levá složená závorka | |||||
| pravá složená závorka | |||||
| dolar | |||||
| procento | |||||
| plus | |||||
| rovná se | |||||
| vykřičník | |||||
| otazník | |||||
| tečka | |||||
| čárka | |||||
| dvojtečka | |||||
| středník | |||||
| obrácená čárka (backtick) | |||||
| stříška | |||||
| Písmena a diakritika | |||||
| samostatný háček | |||||
| samostatná čárka | |||||
| čárka | |||||
| čárka | |||||
| přehláska (dvě tečky) | |||||
| přehláska (dvě tečky) | |||||
| háček | |||||
| háček | |||||
| háček | |||||
| háček | |||||
| čárka | |||||
| čárka | |||||
| háček | |||||
| háček | |||||
| čárka | |||||
| čárka | |||||
| čárka | |||||
| čárka | |||||
| háček | |||||
| háček | |||||
| háček | |||||
| háček | |||||
| čárka | |||||
| čárka | |||||
| stříška (vokáň) | |||||
| stříška (vokáň) | |||||
| čárka | |||||
| čárka | |||||
| háček | |||||
| háček | |||||
| háček | |||||
| háček | |||||
| háček | |||||
| háček | |||||
| čárka | |||||
| čárka | |||||
| kroužek | |||||
| kroužek | |||||
| čárka | |||||
| čárka | |||||
| háček | |||||
| háček | |||||
| ocásek (ogonek) | |||||
| ocásek (ogonek) | |||||
| čárka | |||||
| čárka | |||||
| ocásek (ogonek) | |||||
| ocásek (ogonek) | |||||
| přeškrtnutí | |||||
| přeškrtnutí | |||||
| čárka | |||||
| čárka | |||||
| čárka | |||||
| čárka | |||||
| čárka | |||||
| čárka | |||||
| tečka nad písmenem | |||||
| tečka nad písmenem | |||||
| přehláska (dvě tečky) | |||||
| přehláska (dvě tečky) | |||||
| dvojitá čárka | |||||
| dvojitá čárka | |||||
| přehláska (dvě tečky) | |||||
| přehláska (dvě tečky) | |||||
| dvojitá čárka | |||||
| dvojitá čárka | |||||
| ostré s | |||||
Nic nenalezeno. Zkuste jiné slovo nebo vložte přímo znak.
Znaky bez názvu, například ✔ nebo emoji, zapíšete jen číselnou entitou. Sloupec CSS obsahuje zápis pro vlastnost content, víc najdete v části o CSS a JavaScriptu.
Jak udělat odrážky v HTML?
Pro seznam s odrážkami použijte značky <ul> a <li>. Prohlížeč odrážky doplní sám a jejich tvar změníte v CSS, například list-style-type: square pro čtverečky nebo list-style-type: "✓ " pro fajfky. Entitu • použijte jen tehdy, když odrážku potřebujete uvnitř řádku, například v patičce Kontakt • Ochrana soukromí.
Jak napsat šipku v HTML, v CSS a na klávesnici
Nejpoužívanější šipky a trojúhelníky a všechny způsoby, jak je zapsat. Kód ze sloupce Word napište do dokumentu a hned za ním stiskněte Alt+X, Word ho změní na znak.
| Znak | HTML | Windows | Word |
|---|---|---|---|
| ← | ← | Alt+27 | 2190 |
| → | → | Alt+26 | 2192 |
| ↑ | ↑ | Alt+24 | 2191 |
| ↓ | ↓ | Alt+25 | 2193 |
| ↔ | ↔ | Alt+29 | 2194 |
| ▲ | ▲ | Alt+30 | 25B2 |
| ▼ | ▼ | Alt+31 | 25BC |
| ⇒ | ⇒ | 21D2 |
Alt kód pište se stisknutým levým Altem na numerické klávesnici, číslice nad písmeny nefungují. Word navíc sám mění --> na →, <-- na ← a ==> na ⇒. Trojúhelníky ▲ a ▼ vlastní název entity nemají, proto je zapište číselně.
Jak napsat ©, ® a ™
Znaky copyright, registrovaná ochranná známka a ochranná známka se nejčastěji píšou do patičky webu. Takto je napíšete v HTML i v běžných programech:
| Znak | HTML | Windows | Mac | Word |
|---|---|---|---|---|
| © | HTML: © | Windows: Alt+0169 | Mac: Option+G | Word: (c) |
| ® | HTML: ® | Windows: Alt+0174 | Mac: Option+R | Word: (r) |
| ™ | HTML: ™ | Windows: Alt+0153 | Mac: Option+2 | Word: (tm) |
Zkratky pro Mac platí pro anglické rozložení klávesnice. Při jiném rozložení otevřete prohlížeč znaků zkratkou Ctrl+Cmd+mezerník a znak vyhledejte. Ve Wordu se (c), (r) a (tm) změní na symbol automaticky. Do patičky webu stačí napsat například © 2026 Název firmy.
Jak napsat symbol, který není na klávesnici
Pokud symbol potřebujete vložit do běžného textu, ne do HTML kódu, entitu nepotřebujete. Ve Windows 10 a 11 otevřete panel se symboly a emoji zkratkou Win+tečka, na Macu zkratkou Ctrl+Cmd+mezerník. Symbol můžete také zkopírovat ze seznamu výše.
Pevná mezera
Pevná (nezlomitelná) mezera vypadá jako obyčejná, ale prohlížeč na ní nezalomí řádek. V češtině se používá hlavně tam, kde by zalomení působilo jako chyba:
v Praze- jednopísmenné předložky a spojky a, i, k, o, s, u, v, z nemají zůstat na konci řádku
10 %- číslo a jednotka, procenta či měna, například 25 °C, 5 kg nebo 100 Kč
Ing. Novák- tituly a zkratky, například Ing. Novák nebo s. r. o.
1. ledna- data a řadové číslovky
10 000- mezera oddělující tisíce
Na dlouhá slova v úzkých sloupcích se zase hodí ­, podmíněné dělení: prohlížeč v tom místě rozdělí slovo a přidá spojovník jen tehdy, když se slovo do řádku nevejde.
Jak vložit pevnou mezeru ve Wordu, v Excelu nebo na Macu
- Word ve Windows
- Ctrl+Shift+mezerník
- Excel, PowerPoint a další programy ve Windows
- Alt+0160 na numerické klávesnici
- Mac
- Option+mezerník ve většině programů
- Dokumenty Google
- Vložit, pak Speciální znaky a vyhledejte „no-break space“
- Kdekoli
- zkopírujte ji ze seznamu HTML entit výše kliknutím na znak
Proč se mi ve zprávě zobrazuje ?
Pokud vám v e-mailu, SMS nebo v aplikaci přišel text s „ “, nejde o zkratku ani o skrytý odkaz. Odesílatel nebo aplikace zkopírovali text z webové stránky a entitu pevné mezery nepřevedli na znak. Na jejím místě měla být obyčejná mezera. Stejně se může objevit & místo znaku & nebo " místo uvozovek. Pokud chcete čistý text, vložte ho do nástroje výše a zvolte Dekódovat.
Jak udělat více mezer v HTML
Prohlížeč sloučí několik mezer, tabulátorů a zalomení řádků za sebou do jedné mezery. Proto na stránce není vidět, kolik mezer jste napsali do kódu. Podle toho, co potřebujete, máte tyto možnosti:
Jan Novák- jedna či dvě pevné mezery mezi slovy, které se nesloučí
a b- širší mezera,
 má šířku písmene n a šířku písmene m p { text-indent: 2em; }- odsazení prvního řádku odstavce místo řady entit
.ikona { margin-right: 0.5rem; }- mezera mezi prvky, například mezi ikonou a textem
.kod { white-space: pre-wrap; }- zachová mezery a zalomení přesně tak, jak jsou v textu
Odsazovat či zarovnávat text řadou entit se nevyplatí: při jiné šířce obrazovky se rozložení rozpadne. Na rozložení stránky slouží CSS.
Jak udělat nový řádek a mezeru mezi řádky v HTML
Zalomení řádku v kódu zobrazí prohlížeč jako obyčejnou mezeru, stejně jako entitu . Nový řádek a větší mezery proto děláte jinak:
První řádek<br>Druhý řádek- nový řádek v rámci jednoho odstavce, například v adrese
<p>Odstavec</p>- nový odstavec, prohlížeč před ním a za ním přidá mezeru
p { line-height: 1.6; }- výška řádku, tedy mezera mezi řádky v odstavci
p { margin-bottom: 1.5em; }- mezera mezi odstavci
.adresa { white-space: pre-line; }- zachová zalomení řádků z textu, například z formuláře
Entita vytvoří nový řádek jen tam, kde se zalomení zachovávají: ve značkách <textarea> a <pre> nebo v atributu title, kde z ní vznikne dvouřádková bublina. Pokud hledáte symbol klávesy Enter, je to ↵ (↵) nebo ⏎ (⏎).
Potřebuji entity pro diakritiku?
Ne, pokud má stránka kódování UTF-8, což je dnes standard. Stačí, aby v hlavičce bylo <meta charset="utf-8">, a písmena jako č, ř, ů či ž píšete přímo. Číselné zápisy jako ř se používaly v dobách kódování ISO-8859-2 a Windows-1250, kdy se diakritika na jiném počítači snadno změnila na nesmyslné znaky. Dnes se hodí jen výjimečně, například pro systém, který neumí zpracovat UTF-8, nebo když chcete mít ve zdrojovém kódu jen znaky ASCII. K tomu slouží volba Kódovat i diakritiku a symboly.
Diakritika se na webu zobrazuje špatně
Když se místo textu „Dřevěný stůl“ zobrazují podivné znaky, téměř vždy jde o nesoulad kódování. Podle toho, co přesně vidíte, zjistíte, kde je chyba:
| Co vidíte | Co se stalo | Jak to opravit |
|---|---|---|
| DÅ™evÄ›ný stůl | Text je v UTF-8, ale prohlížeč ho čte v západoevropském kódování Windows-1252 nebo ISO-8859-1. | Jak to opravit: Do hlavičky stránky přidejte <meta charset="utf-8"> a zkontrolujte, zda server v hlavičce Content-Type neposílá jiné kódování. |
| DĹ™evÄ›nĂ˝ stĹŻl | Text je v UTF-8, ale čte se ve středoevropském kódování Windows-1250, které používaly starší české a slovenské programy. | Jak to opravit: Stejně jako výše: <meta charset="utf-8"> a správná hlavička Content-Type ze serveru. |
| D�ev�n� st�l | Soubor je uložený ve starším kódování Windows-1250, ale stránka tvrdí, že je v UTF-8. Písmena s diakritikou se proto změní na znak �. | Jak to opravit: Soubor uložte znovu v kódování UTF-8. Ve VS Code tuto volbu najdete ve stavovém řádku, v Poznámkovém bloku v okně Uložit jako. |
| D?ev?ný st?l | Písmena se ztratila už při ukládání, například do databáze v kódování latin1, které je nezná. Otazníky jsou uložené natrvalo. | Jak to opravit: Databázi, tabulky i připojení přepněte na utf8mb4 a text uložte znovu. Původní písmena z otazníků obnovit nejde. |
Pokud místo písmene vidíte přímo kód jako ř nebo š, nejde o kódování, ale o dvojité zakódování entit. Řešení najdete v části o častých chybách.
HTML entity a bezpečnost (XSS)
Nahrazení znaků <, >, &, " a ' je základní ochrana před útokem XSS, při kterém útočník vloží do stránky vlastní skript. Když se vstup <script> zobrazí jako <script>, prohlížeč ho jen vypíše a nespustí. Má to však své hranice:
-
Entity chrání jen v textu stránky a v atributech, jejichž hodnota je v uvozovkách. Atribut bez uvozovek, například
title=hodnota, lze prolomit i obyčejnou mezerou. -
Nechrání v JavaScriptu, v CSS ani v adrese odkazu. Odkaz
javascript:alert(1)neobsahuje nic, co by se kódovalo, a přesto spustí kód. Adresy z uživatelského vstupu proto kontrolujte zvlášť. -
V atributech událostí, například
onclick, prohlížeč entity dekóduje ještě před spuštěním kódu, takže tam před útokem nechrání. - Kódujte až při výpisu do HTML, ne při ukládání do databáze. Jinak se snadno stane, že text zakódujete dvakrát.
- Nejbezpečnější je nechat kódování na šablonovacím systému, který to dělá automaticky, například Blade, Twig, React nebo Vue.
HTML entity v CSS a JavaScriptu
Entity fungují jen v HTML. V CSS a v řetězcích JavaScriptu se tentýž znak zapisuje jinak, zápis → by se tam zobrazil doslova. Takto vypadá šipka → v jednotlivých jazycích:
- HTML
<span>→</span> nebo <span>→</span>- CSS
.dalsi::after { content: "\2192"; }- JavaScript
element.textContent = "\u2192";- JavaScript (emoji)
element.textContent = "\u{1F600}";
Zápis pro CSS najdete u každé entity v seznamu výše. Pokud za kódem v CSS následuje další písmeno od a do f nebo číslice, oddělte je mezerou, jinak se přečtou jako součást kódu.
Fungují HTML entity v Reactu a v Markdownu?
V Reactu entity v textu JSX fungují, <p>© 2026</p> zobrazí ©. V řetězci ve složených závorkách však ne: {'©'} se vypíše doslova. Tam napište přímo znak nebo jeho zápis v JavaScriptu, například {'\u00A9'}.
V Markdownu entity fungují, protože Markdown propouští HTML: © se zobrazí jako ©. V bloku kódu se však vypíšou doslova, což se hodí, když entitu chcete ukázat. Stejně to platí na GitHubu i v dalších editorech Markdownu.
HTML entity v PHP, JavaScriptu a Pythonu
Ve většině jazyků není potřeba psát pro kódování entit vlastní kód. Takto to vypadá v těch nejpoužívanějších:
PHP
$text = 'Tom & Jerry <3';
echo htmlspecialchars($text, ENT_QUOTES | ENT_HTML5, 'UTF-8');
// Tom & Jerry <3
echo html_entity_decode('<p>© 2026</p>', ENT_QUOTES | ENT_HTML5, 'UTF-8');
// <p>© 2026</p>
Funkce htmlspecialchars kóduje jen pět speciálních znaků, htmlentities i diakritiku. S příznakem ENT_HTML5 zapíše apostrof jako ', bez něj jako '.
Laravel (Blade)
{{ $comment }} {{-- kóduje automaticky --}}
{!! $html !!} {{-- vypíše bez kódování --}}
e('Tom & Jerry'); // Tom & Jerry
Zápis {{ }} v Blade používá htmlspecialchars. Zápis {!! !!} používejte jen pro HTML, kterému důvěřujete.
JavaScript
function escapeHtml(text) {
return text.replace(/[&<>"']/g, (char) => ({
'&': '&', '<': '<', '>': '>', '"': '"', "'": ''',
})[char]);
}
function decodeHtml(html) {
const textarea = document.createElement('textarea');
textarea.innerHTML = html;
return textarea.value;
}
JavaScript nemá vestavěnou funkci pro kódování entit. Pro dekódování se hodí prvek textarea: prohlížeč v něm entity převede, ale nespustí žádný kód. Pokud chcete text jen zobrazit, použijte textContent, u kterého kódování není potřeba vůbec.
Python
import html
html.escape('Tom & Jerry <3')
# 'Tom & Jerry <3'
html.unescape('<p>© 2026</p>')
# '<p>© 2026</p>'
Funkce html.escape kóduje i uvozovky a apostrof (" a '), pokud nezadáte quote=False.
Kterou funkci v PHP použít
htmlspecialchars()- zakóduje pět speciálních znaků, pro bezpečný výpis do HTML to stačí
htmlentities()- zakóduje vše, co má pojmenovanou entitu, včetně diakritiky, na stránce v UTF-8 to není potřeba
htmlspecialchars_decode()- dekóduje zpět jen těch pět speciálních znaků
html_entity_decode()- dekóduje všechny entity, pojmenované i číselné
Od PHP 8.1 kódují obě funkce ve výchozím nastavení i apostrof a neplatné znaky UTF-8 nahradí znakem �. Ve starších verzích zadejte příznaky ENT_QUOTES | ENT_SUBSTITUTE ručně.
Časté chyby u HTML entit
Na stránce je vidět & nebo "
Text se zakódoval dvakrát, například při ukládání a znovu při výpisu. Z & vzniklo & a z něj &amp;. Nástroj takový text pozná a nabídne tlačítko Dekódovat ještě jednou. Natrvalo to vyřešíte tak, že budete kódovat jen na jednom místě, při výpisu.
Chybějící středník
Některé starší entity prohlížeč rozpozná i bez středníku. Text ?id=1©=2 se proto na stránce zobrazí jako ?id=1©=2. Znak & v textu i v odkazech proto zapisujte jako &.
Entita ' ve starších prohlížečích
Entitu ' zná HTML5 a XML, v HTML 4 však neexistovala a například Internet Explorer 8 ji nezobrazil. Bezpečnější je zápis ', který nástroj používá.
Entity v adrese URL
Mezery a diakritiku v adrese nenahrazujte entitami, ale procentovým kódováním, například %20. K tomu slouží URL enkodér. Pokud však odkaz s více parametry píšete do atributu href, znak & mezi nimi zapište jako &.
Entity v JSON a JavaScriptu
V JSON ani v řetězcích JavaScriptu se entity nepřevádějí. Pokud API vrátí " místo uvozovek, text byl pro HTML zakódován příliš brzy. Dekódujte ho a kódujte až při výpisu do stránky.
Neviditelná pevná mezera
Text zkopírovaný z Wordu nebo z webové stránky může obsahovat znak U+00A0. Vypadá jako mezera, ale vyhledávání či kontrola formuláře ho za mezeru nepovažuje. Zakódujte text s volbou Kódovat i diakritiku a symboly a každou takovou mezeru uvidíte jako .
Související nástroje
Další nástroje pro přípravu, úpravu a kontrolu textu.
FAQ
Co je HTML entita?
& a končí středníkem, například < pro znak < nebo © pro ©. Používá se pro znaky, které mají v HTML zvláštní význam, a pro znaky, které se nedají snadno napsat na klávesnici.
Jak napsat znak < nebo > do HTML?
< zapište jako < a znak > jako >. Prohlížeč je pak zobrazí jako text a nebude je považovat za začátek či konec značky.
Co znamená v HTML?
je pevná (nezlomitelná) mezera. Vypadá jako běžná mezera, ale řádek se na ní nezalomí. V češtině ji použijete například za jednopísmennými předložkami (v Praze) nebo mezi číslem a jednotkou (10 %).
Jaký je rozdíl mezi pojmenovanou a číselnou entitou?
€. Číselná obsahuje číslo znaku v Unicode, buď desítkově €, nebo šestnáctkově €. Prohlížeč zobrazí všechny tři stejně, ale číselnou entitu má každý znak, pojmenovanou jen některé.
Jak zapsat šipku, fajfku nebo hvězdičku v HTML?
→, fajfka ✓ a plná hvězdička ★. Tučná fajfka ✔ vlastní název nemá, zapíšete ji jako ✔. Další najdete v seznamu HTML entit na této stránce, kde je zkopírujete jedním kliknutím.
Musím v HTML kódovat diakritiku?
<meta charset="utf-8">. Písmena jako č, ř, ů či ž pak píšete přímo. Entity pro diakritiku se hodí jen pro systémy, které UTF-8 nepodporují.
Proč nástroj zapisuje apostrof jako ' a ne '?
' v HTML 4 neexistovala, takže ji starší prohlížeče, například Internet Explorer 8, nezobrazily. Zápis ' funguje všude. PHP při výchozím nastavení používá stejný číselný zápis ve tvaru '.
Jak použít HTML entitu v CSS ve vlastnosti content?
content: "\2192";. Kód pro CSS najdete u každé entity v seznamu na této stránce.
Chrání kódování HTML entit před XSS?
Proč se mi na stránce zobrazuje & nebo "?
Co znamená ', • nebo  ?
' je apostrof ', • odrážka • a   pevná mezera. Další čísla najdete v seznamu HTML entit na této stránce, stačí číslo napsat do vyhledávání. Celý text s entitami zase převedete v dekodéru.
Jak udělat více mezer v HTML?
slovo slovo. Na odsazení odstavce a mezery mezi prvky stránky však použijte CSS, například text-indent nebo margin.