htmlentities

(PHP 3, PHP 4, PHP 5)

htmlentities --  Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um

Beschreibung

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

Die Funktion ist komplett identisch zu htmlspecialchars(), allerdings wandelt htmlentities() wirklich alle Zeichen, die eine HTML-Code-Entsprechung haben, in diese Entsprechung um.

Wie bei htmlspecialchars() können Sie mit dem optionalen zweiten Parameter quote_style definieren, wie 'einfache' und "doppelte" Anführungszeichen behandelt werden. Es gibt drei Konstanten, wobei ENT_COMPAT voreingestellt ist:

Tabelle 1. Verfügbare quote_style Konstanten

KonstanteBeschreibung
ENT_COMPATKonvertiert nur doppelte Anführungszeichen und lässt einfache Anführungszeichen unverändert.
ENT_QUOTESKonvertiert sowohl doppelte als auch einfache Anführungszeichen.
ENT_NOQUOTESLässt doppelte und einfache Anführungszeichen unverändert.

Die Unterstützung für den optionalen Parameter quote wurde in PHP 4.0.3. eingeführt.

Wie bei htmlspecialchars() steht das optionale dritte Argument charset zur Verfügung, das den für die Konvertierung benötigten Zeichensatz definiert. Die Unterstützung für dieses Argument wurden in PHP 4.1.0 eingeführt. Gegenwärtig wird standardmäßig der ISO-8859-1 Zeichensatz verwendet.

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

Tabelle 2. 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.

Möchten Sie stattdessen die HTML Entities dekodieren, verwenden Sie bitte die Funktion html_entity_decode().

Beispiel 1. Ein htmlentities() Beispiel

<?php
$str
= "Ein 'Anführungszeichen' ist <b>fett</b>";

// Gibt aus: Ein 'Anf&uuml;hrungszeichen' ist &lt;b&gt;fett&lt;/b&gt;
echo htmlentities($str);

// Gibt aus: Ein &#039;Anf&uuml;hrungszeichen&#039; ist &lt;b&gt;fett&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>

Siehe auch html_entity_decode(), get_html_translation_table(), htmlspecialchars(), nl2br() und urlencode().