PHP Manual
/
Získávání dat od uživatele

Htmlspecialchars

22. 08. 2019

Obsah článku

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

Popis

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

Návratové hodnoty

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

$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:

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, pokud si nevíte rady.

Lektor: Jan Barášek

V jiných jazycích

1.
Status:
All systems normal.
2024