String-Funktionen
PHP Manual

htmlspecialchars

(PHP 4, PHP 5)

htmlspecialcharsWandelt Sonderzeichen in HTML-Codes um

Beschreibung

string htmlspecialchars ( string $string [, int $quote_style= ENT_COMPAT [, string $charset [, bool $double_encode= true ]]] )

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:

Parameter-Liste

string

Die zu konvertierende Zeichenkette.

quote_style

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.

charset

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:

Unterstützte Zeichensätze
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.

double_encode

Wird der Parameter double_encode ausgeschaltet, kodiert PHP bereits existierende HTML-Entities nicht noch einmal. Standardmäßig werden jedoch alle Zeichen konvertiert.

Rückgabewerte

Der konvertierte string.

Changelog

Version Beschreibung
5.2.3 Der Parameter double_encode wurde hinzugefügt.
4.1.0 Der Parameter charset wurde hinzugefügt.

Beispiele

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;
?>

Anmerkungen

Hinweis: Beachten Sie, dass diese Funktion nur die o.a. Umwandlungen durchführt. Für vollständige Code-Umwandlung verwenden Sie bitte htmlentities().

Siehe auch


String-Funktionen
PHP Manual