get_html_translation_table

(PHP 4, PHP 5, PHP 7)

get_html_translation_tableGibt die Umwandlungs-Tabelle zurück, die von htmlspecialchars() und htmlentities() verwendet wird

Beschreibung

get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8" ]]] ) : array

get_html_translation_table() gibt die Umwandlungs-Tabelle zurück, die intern in den Funktionen htmlspecialchars() und htmlentities() verwendet wird.

Hinweis:

Sonderzeichen können auf unterschiedliche Weise kodiert werden. " kann kodiert werden als ", " oder &#x22. get_html_translation_table() gibt nur die von htmlspecialchars() und htmlentities() genutze Form zurück.

Parameter-Liste

table

Welche Tabelle zurückgegeben werden soll. Entweder HTML_ENTITIES oder HTML_SPECIALCHARS.

flags

Eine Bitmaske von einem oder mehreren der folgenden Flags, welche festlegen welche Anführungszeichen die Tabelle enthalten wird, sowie für welchen Dokumenttyp sie ist. Der Standardwert ist ENT_COMPAT | ENT_HTML401.

Verfügbare flags-Konstanten
Konstantenname Beschreibung
ENT_COMPAT Tabelle soll Entities für doppelte Anführungszeichen enthalten, aber nicht für einfache.
ENT_QUOTES Tabelle soll Entities sowohl für einfache, als auch doppelte Anführungszeichen enthalten.
ENT_NOQUOTES Tabelle soll weder Entities für einfache, noch für doppelte Anführungszeichen enthalten.
ENT_HTML401 Tabelle für HTML 4.01.
ENT_XML1 Tabelle für XML 1.
ENT_XHTML Tabelle für XHTML.
ENT_HTML5 Tabelle für HTML 5.

encoding

Definiert die zu verwendende Zeichenkodierung. Standardwert ist ISO-8859-1 in PHP Versionen vor 5.4.0 und UTF-8 in PHP 5.4.0 und neuer.

Die folgenden Zeichensätze werden unterstützt:

Unterstützte Zeichensätze
Zeichensatz Alias Beschreibung
ISO-8859-1 ISO8859-1 Westeuropäisch, Latin-1.
ISO-8859-5 ISO8859-5 Wenig verwendeter kyrillischer Zeichensatz (Latin/Cyrillic).
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.
cp1251 Windows-1251, win-1251, 1251 Windows-spezifischer kyrillischer Zeichensatz.
cp1252 Windows-1252, 1252 Windows spezifischer Zeichensatz für westeuropäische Sprachen.
KOI8-R koi8-ru, koi8r Russisch.
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, SJIS-win, cp932, 932 Japanisch
EUC-JP EUCJP, eucJP-win Japanisch
MacRoman   Zeichensatz, der von Mac OS verwendet wurde.
''   Eine leere Zeichenkette aktiviert die Erkennung durch die Kodierung des Skripts (Zend multibyte), default_charset und die aktuelle Sprachumgebung (siehe nl_langinfo() und setlocale()), in dieser Reihenfolge. Nicht empfehlenswert.

Hinweis: Weitere Zeichensätze sind nicht implementiert. Statt dessen wird die Standard-Kodierung verwendet und eine Warnung ausgegeben.

Rückgabewerte

Gibt die Umwandlungstabelle als Array zurück, wobei die ursprünglichen Zeichen die Schlüssel sind und die Entities die Werte.

Changelog

Version Beschreibung
5.4.0 Der Standardwert für encoding wurde zu UTF-8 geändert.
5.4.0 Die Konstanten ENT_HTML401, ENT_XML1, ENT_XHTML und ENT_HTML5 wurden hinzugefügt.
5.3.4 Der encoding parameter wurde hinzugefügt.

Beispiele

Beispiel #1 Umwandlungs-Tabellen-Beispiel

<?php
var_dump
(get_html_translation_table(HTML_ENTITIESENT_QUOTES ENT_HTML5));
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

array(1510) {
  ["
"]=>
  string(9) "&NewLine;"
  ["!"]=>
  string(6) "&excl;"
  ["""]=>
  string(6) "&quot;"
  ["#"]=>
  string(5) "&num;"
  ["$"]=>
  string(8) "&dollar;"
  ["%"]=>
  string(8) "&percnt;"
  ["&"]=>
  string(5) "&amp;"
  ["'"]=>
  string(6) "&apos;"
  // ...
}

Siehe auch