PHP html_entity_decode() Funktion

Beispiel

HTML-Entitäten in Zeichen umwandeln:

<?php
$str = "<© W3Sçh°°¦§>";
echo html_entity_decode($str);
?>

Die HTML-Ausgabe des obigen Codes ist wie folgt (Quellcode anzeigen):

<!DOCTYPE html>
<html>
<body>
<? W3S?h????>
</body>
</html>

Browser-Ausgabe des obigen Codes:

<? W3S?h????>

Definition und Verwendung

Die Funktion html_entity_decode() wandelt HTML-Entitäten in Zeichen um.

Die Funktion html_entity_decode() ist htmlentities() Funktion ist das Gegenteil von. htmlentities()

Syntax

html_entity_decode(string,flags,character-set)
Parameter Beschreibung
string Erforderlich. Bestimmt die zu dekodierende Zeichenfolge.
flags

Optional. Bestimmt, wie Anführungszeichen behandelt werden sollen und welche Dokumentart verwendet wird.

Verfügbare Anführungszeichenarten:

  • ENT_COMPAT - Standard. Dekodiert nur doppelte Anführungszeichen.
  • ENT_QUOTES - Dekodiert doppelte und einfache Anführungszeichen.
  • ENT_NOQUOTES - Dekodiert keine Anführungszeichen.

Zusätzliche Flags für die verwendete Dokumentart festlegen:

  • ENT_HTML401 - Standard. Wird als HTML 4.01 behandelt.
  • ENT_HTML5 - Wird als HTML 5 behandelt.
  • ENT_XML1 - Wird als XML 1 behandelt.
  • ENT_XHTML - Wird als XHTML behandelt.
character-set

Optional. String-Wert, der den zu verwendenden Zeichensatz angibt.

Zulässige Werte:

  • UTF-8 - Standard. 8-Bit Unicode, kompatibel mit ASCII
  • ISO-8859-1 - Westeuropäisch
  • ISO-8859-15 - Westeuropäisch (hinzugefügt Euro-Symbol + fehlende französische und finnische Buchstaben in ISO-8859-1)
  • cp866 - Kyrillischer Zeichensatz für DOS
  • cp1251 - Kyrillischer Zeichensatz für Windows
  • cp1252 - Westeuropäischer Zeichensatz für Windows
  • KOI8-R - Russisch
  • BIG5 - Traditionelles Chinesisch, hauptsächlich in Taiwan verwendet
  • GB2312 - Chinesisch, nationales Zeichensatzsystem
  • BIG5-HKSCS - Big5 mit Hongkong-Erweiterung
  • Shift_JIS - Japanisch
  • EUC-JP - Japanisch
  • MacRoman - Zeichensatz, der auf dem Mac OS verwendet wird

Kommentare:In Versionen von PHP 5.4 und früher werden nicht erkannte Zeichensätze ignoriert und durch ISO-8859-1 ersetzt. Ab PHP 5.4 werden nicht erkannte Zeichensätze ignoriert und durch UTF-8 ersetzt.

Technische Details

Rückgabewert: Gibt die umgewandelte Zeichenfolge zurück
PHP-Version: 4.3.0+

Aktualisierungsprotokoll:

Version Beschreibung
PHP 5 character-set Der Standardwert für den Zeichensatz wurde auf UTF-8 geändert.
PHP 5.4

Zusätzliche Flags wurden hinzugefügt, um die Dokumenttypen zu spezifizieren, für die die Übersetzungstabellen gelten sollen:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML
PHP 5.3.4 Neue Unterstützung für mehrbyteige Kodierung hinzugefügt.

Mehr Beispiele

Beispiel 1

HTML-Entitäten in Zeichen umwandeln:

<?php
$str = "Bill & 'Steve'";
echo html_entity_decode($str, ENT_COMPAT); // Nur doppelte Anführungszeichen umwandeln
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // Doppelte und einfache Anführungszeichen umwandeln
echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); // Keine Anführungszeichen umwandeln
?>

HTML-Ausgabe des obigen Codes (Quellcode anzeigen):

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'<br>
Bill & 'Steve'<br>
Bill & 'Steve'
</body>
</html>

Browser-Ausgabe des obigen Codes:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

Beispiel 2

Durch die Verwendung des westeuropäischen Zeichensatzes werden HTML-Entitäten in Zeichen umgewandelt:

<?php
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo html_entity_decode($str, ENT_QUOTES, "ISO-8859-1");
?>

HTML-Ausgabe des obigen Codes (Quellcode anzeigen):

<!DOCTYPE html>
<html>
<body>
Mein Name ist ?yvind ?sane. Ich bin Norweger.
</body>
</html>

Browser-Ausgabe des obigen Codes:

Mein Name ist ?yvind ?sane. Ich bin Norweger.