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:
Nabízím trénink vývojářů, konzultace, školení a analýzu návrhových vzorů. Osobně v Praze nebo online.
Napište mi, pokud si nevíte rady.
Lektor: Jan Barášek
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | cs