PHP htmlspecialchars() Funktion
Beispiel
Wandeln Sie die vordefinierten Zeichen „<“ (kleiner als) und „>“ (größer als) in HTML-Entitäten um:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
Die HTML-Ausgabe des obigen Codes lautet (Quelle anzeigen):
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
Die Browserausgabe des obigen Codes lautet:
This is some <b>bold</b> text.
Definition und Verwendung
Die Funktion htmlspecialchars() wandelt einige vordefinierte Zeichen in HTML-Einheiten um.
Die vordefinierten Zeichen sind:
- & (kaufmännisches Und) wird zu &
- " (doppeltes Anführungszeichen) wird zu "
- ' (einfaches Anführungszeichen) wird zu '
- < (kleiner als) wird zu <
- > (größer als) wird zu >
Tipp: Verwenden Sie die Funktion htmlspecialchars_decode() , um spezielle HTML-Elemente wieder in Zeichen umzuwandeln .
Syntax
htmlspecialchars(string,flags,character-set,double_encode)
Parameterwerte
Parameter | Description |
---|---|
string | Required. Specifies the string to convert |
flags | Optional. Specifies how to handle quotes, invalid encoding and the used document type. The available quote styles are:
Invalid encoding:
Additional flags for specifying the used doctype:
|
character-set | Optional. A string that specifies which character-set to use. Allowed values are:
Note: Unrecognized character-sets will be ignored and replaced by ISO-8859-1 in versions prior to PHP 5.4. As of PHP 5.4, it will be ignored an replaced by UTF-8. |
double_encode | Optional. A boolean value that specifies whether to encode existing html entities or not.
|
Technische Details
Rückgabewert: | Gibt die konvertierte Zeichenfolge zurück. Wenn die Zeichenfolge eine ungültige Codierung enthält, wird eine leere Zeichenfolge zurückgegeben, es sei denn, entweder die Flags ENT_IGNORE oder ENT_SUBSTITUTE sind gesetzt |
---|---|
PHP-Version: | 4+ |
Änderungsprotokoll: | PHP 5.6 - Der Standardwert für den Zeichensatzparameter
wurde auf den Wert des Standardzeichensatzes (in der Konfiguration) geändert. PHP 5.4 - Der Standardwert für den Zeichensatzparameter wurde in UTF-8 geändert. PHP 5.4 – ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 und ENT_XHTML hinzugefügt . PHP 5.3 – ENT_IGNORE-Konstante hinzugefügt. PHP 5.2.3 - Parameter double_encode hinzugefügt . PHP 4.1 - Zeichensatzparameter hinzugefügt . |
Mehr Beispiele
Beispiel
Konvertieren Sie einige vordefinierte Zeichen in HTML-Entitäten:
<?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
?>
Die HTML-Ausgabe des obigen Codes lautet (Quelle anzeigen):
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
Die Browserausgabe des obigen Codes lautet:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Beispiel
Konvertieren Sie doppelte Anführungszeichen in HTML-Entitäten:
<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>
Die HTML-Ausgabe des obigen Codes lautet (Quelle anzeigen):
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
Die Browserausgabe des obigen Codes lautet:
I love "PHP".
❮ PHP-String-Referenz