(PHP 4, PHP 5)
htmlspecialchars — Wandelt Sonderzeichen in HTML-Codes um
Bestimmte Zeichen haben in HTML eine spezielle Bedeutung und sollten in HTML-Code dargestellt werden, um ihre Bedeutung zu behalten. Diese Funktion liefert einen String zurück, in dem manche dieser Konvertierungen durchgeführt wurden. Die hier vorgenommenen Umwandlungen sind die gebräuchlichsten für die tägliche Web-Programmierung. Sofern Sie eine vollständige Konvertierung der HTML-Zeichen benötigen, sollten Sie stattdessen htmlentities() verwenden.
Diese Funktion ist hilfreich, um vom Benutzer gelieferten Text frei von HTML-Code zu halten, wie z.B. in Foren oder Gästebüchern.
Folgende Umwandlungen werden vorgenommen:
Die zu konvertierende Zeichenkette.
Das optionale zweite Argument quote_style gibt an, wie die Funktion mit einfachen und doppelten Anführungszeichen umgehen soll. Der Standardmodus ENT_COMPAT ist abwärtskompatibel und übersetzt nur die doppelten Anführungszeichen, während die einfachen Anführungszeichen unbehandelt bleiben. Wird statt dessen der Modus ENT_QUOTES verwendet, werden sowohl einfache als auch doppelte Anführungszeichen umgewandelt. Das Setzen von ENT_NOQUOTES bewirkt ein Ignorieren sowohl von einfachen als auch von doppelten Anführungszeichen.
Definiert den Zeichensatz, der der Übersetzung zugrunde gelegt wird. Der Standardwert ist ISO-8859-1.
Die folgenden Zeichensätze werden mit PHP 4.3.0 und höher unterstützt:
Zeichensatz | Alias | Beschreibung |
---|---|---|
ISO-8859-1 | ISO8859-1 | Westeuropäisch, Latin-1 |
ISO-8859-15 | ISO8859-15 | Westeuropäisch, Latin-9. Enthält das Euro-Zeichen sowie französische und finnische Buchstaben, die in Latin-1(ISO-8859-1) fehlen. |
UTF-8 | ASCII-kompatibles Multi-Byte 8-Bit Unicode. | |
cp866 | ibm866, 866 | DOS-spezifischer Kyrillischer Zeichensatz. Dieser Zeichensatz wird ab PHP Version 4.3.2 unterstützt. |
cp1251 | Windows-1251, win-1251, 1251 | Windows-spezifischer Kyrillischer Zeichensatz. Dieser Zeichensatz wird ab PHP Version 4.3.2 unterstützt. |
cp1252 | Windows-1252, 1252 | Windows spezifischer Zeichensatz für westeuropäische Sprachen. |
KOI8-R | koi8-ru, koi8r | Russisch. Dieser Zeichensatz wird ab PHP Version 4.3.2 unterstützt. |
BIG5 | 950 | Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet. |
GB2312 | 936 | Vereinfachtes Chinesisch, nationaler Standard-Zeichensatz. |
BIG5-HKSCS | Big5 mit Hongkong-spezifischen Erweiterungen; traditionelles Chinesisch. | |
Shift_JIS | SJIS, 932 | Japanisch |
EUC-JP | EUCJP | Japanisch |
Hinweis: Weitere Zeichensätze sind nicht implementiert, an ihrer Stelle wird ISO-8859-1 verwendet.
Wird der Parameter double_encode ausgeschaltet, kodiert PHP bereits existierende HTML-Entities nicht noch einmal. Standardmäßig werden jedoch alle Zeichen konvertiert.
Der konvertierte string.
Version | Beschreibung |
---|---|
5.2.3 | Der Parameter double_encode wurde hinzugefügt. |
4.1.0 | Der Parameter charset wurde hinzugefügt. |
Beispiel #1 htmlspecialchars()-Beispiel
<?php
$neu = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $neu; // <a href='test'>Test</a>
?>
Hinweis: Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen durchführt. Für vollständige Code-Umwandlung verwenden Sie bitte htmlentities().