Htmlspecialchars() je funkce pro převod speciálních znaků na HTML entity.
$promenna = htmlspecialchars($text);
Některé speciální znaky mají speciální význam pro prohlížeče, proto by se měli převést na entity. Zabraňuje to obecné bezpečnosti scriptů a nedochází k tomu, že se stránka špatně vykreslí.
Nejčastěji se používá na ochranu formulářů a všech místech, kde uživatel vkládá text a hrozí vložení HTML značek.
| Znak | Poznámka | Mění se na |
|---|---|---|
& |
ampersand | & |
" |
dvojitá uvozovka (mění se, když je zakázán ENT_NOQUOTES) |
" |
' |
apostrof (mění se, když je povolen ENT_QUOTES) |
' |
< |
menší než, HTML závorka | < |
> |
větší než, HTML závorka | > |
Řetězec pro převod
flags Různé nastavení chování
charset Určuje znakovou sadu (kódování). Výchozí znaková sada je ISO-8859-1.
Můžete použít: ISO-8859-1, ISO-8859-15, UTF-8, cp866, CP1251, CP1252 a KOI8-R.
Poznámka: Podpora až od PHP 4.3.0 a novější. Jakékoliv jiné znakové sady nejsou rozpoznány a podporovány.
double_encode Když je vypnutý double_encode, tak PHP nebude kódovat existující HTML entity, výchozí hodnota je převést všechno.
Převede řetězec.
Pokud řetězec obsahuje neplatné jednotky, v rámci daného charset v ENT_IGNORE (nenastaveno), tak se vrátí prázdný řetězec.
| Verze | Poznámka |
|---|---|
| 5.4.0 | Přidání konstant ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML a ENT_HTML5. |
| 5.3.0 | Přidání konstanty ENT_IGNORE. |
| 5.2.3 | Přidání parametru double_encode. |
| 4.1.0 | Přidání parametru charset. |
$new = htmlspecialchars('<a href="test">Test<a>',ENT_QUOTES);echo $new; // <a href="test">Test<a>
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články a novinky nejen ze světa PHP a programování. Nenechte si ujít jediný článek.
Články píše Jan Barášek © 2009-2025 | Kontakt | Mapa webu
Status | Aktualizováno: ... | cs