Htmlspecialchars

22. 8. 2019

Htmlspecialchars() je funkce pro převod speciálních znaků na HTML entity.

Popis

php
$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 &lt;
> větší než, HTML závorka &gt;

Parametr

Ř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.

Změny ve verzích

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.

Příklad

php
$new = htmlspecialchars(
'<a href="test">Test<a>',
ENT_QUOTES
);
echo $new; // <a href="test">Test<a>
Jan Barášek
Jan BarášekVí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:

AI konzultace & implementace

Pomohu vám zavést AI do vašeho projektu – od analýzy a návrhu řešení až po nasazení do produkce. Ušetřete čas, zjednodušte procesy a získejte konkurenční výhodu.

Domluvit konzultaci
Konzultant: Jan Barášek
Potřebujete poradit s PHP?

Nabízím trénink vývojářů, konzultace, školení a analýzu návrhových vzorů. Osobně v Praze nebo online.

Napište mi

Newsletter

Nejlepsi tipy a triky o PHP do Vaseho e-mailu. Clanky a novinky nejen ze sveta PHP a programovani.