htmlspecialchars

(PHP 3, PHP 4, PHP 5)

htmlspecialchars --  Wandelt Sonderzeichen in HTML-Codes um

Beschreibung

string htmlspecialchars ( string string [, int quote_style [, string charset]] )

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. Das optionale zweite Argument quote_style legt fest, wie einfache und doppelte Anführungszeichen behandelt werden sollen. Die Standardeinstellung ENT_COMPAT ist abwärtskompatibel und behandelt nur die doppelten, nicht aber die einfachen Anführungszeichen. Ist ENT_QUOTES angegeben, werden einfache und doppelte Anführungszeichen umgewandelt, und sofern ENT_NOQUOTES angegeben wurde, bleiben sowohl einfache als auch doppelte Anführungszeichen unberührt.

Folgende Umwandlungen werden vorgenommen:

Beispiel 1. htmlspecialchars()-Beispiel

<?php
$neu
= htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo
$neu; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen durchführt. Für vollständige Code-Umwandlung verwenden Sie bitte htmlentities(). Die Unterstützung für das optionale zweite Argument wurde in PHP 3.0.17 bzw. PHP 4.0.3. hinzugefügt.

Das dritte Argument charset definiert die für die Konvertierung verwendete Zeichenssatztabelle. Der Default-Zeichensatz ist ISO-8859-1. Die Unterstützung für das dritte Argument wurde mit PHP 4.1.0 eingeführt.

Die folgenden Zeichensätze werden mit PHP 4.3.0 und höher unterstützt:

Tabelle 1. Unterstützte Zeichensätze

ZeichensatzAliasBeschreibung
ISO-8859-1ISO8859-1 Westeuropäisch, Latin-1
ISO-8859-15ISO8859-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.
cp866ibm866, 866 DOS-spezifischer Kyrillischer Zeichensatz. Dieser Zeichensatz wird ab PHP Version 4.3.2 unterstützt.
cp1251Windows-1251, win-1251, 1251 Windows-spezifischer Kyrillischer Zeichensatz. Dieser Zeichensatz wird ab PHP Version 4.3.2 unterstützt.
cp1252Windows-1252, 1252 Windows spezifischer Zeichensatz für westeuropäische Sprachen.
KOI8-Rkoi8-ru, koi8r Russisch. Dieser Zeichensatz wird ab PHP Version 4.3.2 unterstützt.
BIG5950 Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet.
GB2312936 Vereinfachtes Chinesisch, nationaler Standard-Zeichensatz.
BIG5-HKSCS  Big5 mit Hongkong-spezifischen Erweiterungen; traditionelles Chinesisch.
Shift_JISSJIS, 932 Japanisch
EUC-JPEUCJP Japanisch

Anmerkung: Weitere Zeichensätze sind nicht implementiert, an ihrer Stelle wird ISO-8859-1 verwendet.

Siehe auch get_html_translation_table(), strip_tags(), htmlentities() und nl2br().