PHP Handbuch
Zurück |  | Weiter

# 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:

- '&' (Ampersand/kaufmännisches Und) wird zu '&amp;'.

- '"' (doppeltes Anführungszeichen) wird zu '&quot;', wenn `ENT_NOQUOTES` nicht gesetzt ist.

- ''' (einfaches Anführungszeichen) wird nur zu '&#039;', wenn `ENT_QUOTES` gesetzt ist.

- '<' (kleiner als) wird zu '&lt;'

- '>' (größer als) wird zu '&gt;'

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

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

> 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().

Zurück | Zum Anfang | Weiter
htmlspecialchars_decode | Nach oben | implode