Przykład
Konwersja predefiniowanych znaków "<" (less than) i ">" (greater than) do podmiotów HTML:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
Wyjście HTML z kodem powyżej będzie (View Source) :
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
Wyjście przeglądarka kodu powyżej będą:
This is some <b>bold</b> text.
Uruchomić przykład » Definicja i Wykorzystanie
htmlspecialchars() konwertuje kilka predefiniowanych znaków do podmiotów HTML.
Predefiniowane znaki są:
- I (ampersand) staje się ze wzmacniacza;
- " (double quote) staje cali do
- ' (single quote) staje się & # 039;
- < (less than) staje się i LT;
- > (greater than) staje & gt;
Wskazówka: Aby dokonać konwersji jednostek specjalnych HTML z powrotem do znaków, należy użyć htmlspecialchars_decode() funkcji.
Składnia
htmlspecialchars( string,flags,character-set,double_encode )
Parametr | Opis |
---|---|
string | Wymagany. Określa ciąg do zamiany |
flags | Opcjonalny. Określa, jak radzić sobie cytaty, nieważne kodowania i stosowany typ dokumentu. Dostępne style cytat to:
Nieprawidłowy kodowania:
Dodatkowe flagi dla określania używany doctype:
|
character-set | Opcjonalny. Ciąg znaków, który określa, który znak ustawiony w użyciu. Dozwolone wartości to:
Note: Nierozpoznane postaci zestawów będą ignorowane i zastąpione przez ISO-8859-1 w wersjach wcześniejszych od PHP 5.4. Od PHP 5.4, zostanie ono zignorowane zastąpiony przez UTF-8. |
double_encode | Opcjonalny. Wartość logiczna określająca, czy do zakodowania istniejących podmiotów HTML lub nie.
|
Szczegóły techniczne
Zwracana wartość: | Zwraca skonwertowany łańcuch Jeśli ciąg zawiera nieprawidłowe kodowanie, zwróci pusty ciąg, chyba albo ENT_IGNORE lub ENT_SUBSTITUTE flagi są ustawione |
---|---|
Wersja PHP: | 4+ |
Lista zmian: | Domyślna wartość parametru zestawu znaków został zmieniony na UTF-8 w PHP 5 ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 i ENT_XHTML dodano 5,4 PHP ENT_IGNORE dodano 5,3 PHP Parametr double_encode dodano PHP 5.2.3 Postać, zestaw parametrów dodano 4,1 PHP |
Więcej przykładów
Przykład 1
Konwersja kilka predefiniowanych znaków do podmiotów HTML:
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
Wyjście HTML z kodem powyżej będzie (View Source) :
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
Wyjście przeglądarka kodu powyżej będą:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Uruchomić przykład » Przykład 2
Konwersja cudzysłowów do podmiotów HTML:
<?php
$str = 'I love "PHP" .';
echo htmlspecialchars($str, ENT_QUOTES);
// Converts double and single quotes
?>
Wyjście HTML z kodem powyżej będzie (View Source) :
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
Wyjście przeglądarka kodu powyżej będą:
I love "PHP" .
Uruchomić przykład » <String referencyjny PHP