PHP Manual

Htmlspecialchars

22. 08. 2019

Obsah článku

Htmlspecialchars() to funkcja służąca do konwersji znaków specjalnych na encje HTML.

Opis

$promenna = htmlspecialchars($text);

Niektóre znaki specjalne mają specjalne znaczenie dla przeglądarek, dlatego należy je zamienić na encje. Zapobiega to ogólnemu bezpieczeństwu skryptów i uniemożliwia nieprawidłowe wyświetlanie strony.

Jest on najczęściej używany do ochrony formularzy i wszelkich miejsc, w których użytkownik wstawia tekst oraz ryzykuje wstawianie znaczników HTML.

Znak Uwaga Zmiany do
& ampersand &
" cudzysłów (zmienia się, gdy ENT_NOQUOTES jest wyłączone) "
' apostrof (zmienia się, gdy włączona jest opcja ENT_QUOTES) '
< mniej niż, nawias HTML &lt;
> większy niż, nawias HTML &gt;

Parametr

String do konwersji

flagi Różne ustawienia zachowania

charset Określa zestaw znaków (kodowanie). Domyślnym zestawem znaków jest ISO-8859-1.

Można używać ISO-8859-1, ISO-8859-15, UTF-8, cp866, CP1251, CP1252 i KOI8-R.

Uwaga: Obsługa tylko od wersji PHP 4.3.0 i nowszych. Wszelkie inne zestawy znaków nie są rozpoznawane i obsługiwane.

double_encode Gdy double_encode jest wyłączone, PHP nie będzie kodować istniejących encji HTML, domyślnie wszystko będzie konwertowane.

Wartości zwracane

Konwertuje ciąg znaków.

Jeśli łańcuch zawiera nieprawidłowe jednostki, w ramach podanego zestawu znaków w ENT_IGNORE (nie ustawiono), zwracany jest pusty łańcuch.

Zmiany w wersjach

Wersja Uwaga
5.4.0 Dodanie stałych ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML i ENT_HTML5.
5.3.0 Dodanie stałej ENT_IGNORE.
5.2.3 Dodanie parametru double_encode.
4.1.0 Dodanie parametru charset.

Przykład

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

V jiných jazycích

1.
6.
Status:
All systems normal.
2024