Htmlspecialchars() to funkcja służąca do konwersji znaków specjalnych na encje HTML.
$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 | < |
> |
większy niż, nawias HTML | > |
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.
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.
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 . |
$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 píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | pl