PHP html_entity_decode() Funktion

Beispiel

Vorgegebene HTML-Entitäten "<" (Kleiner als) und ">" (Größer als) in Zeichen umwandeln:

<?php
$str = "Dies ist ein fett gedruckter <b>Text</b>.";
echo htmlspecialchars_decode($str);
?>

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

<!DOCTYPE html>
<html>
<body>
Dies ist ein fett gedruckter <b>Text</b>.
</body>
</html>

Die Browser-Ausgabe des obigen Codes:

Dies ist ein fett gedruckter Text.

Definition und Verwendung

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

Dekodierte HTML-Entitäten sind:

  • & wird in & (Und) dekodiert.
  • " wird in " (Doppeltes Anführungszeichen) dekodiert.
  • ' wird in ' (Einfaches Anführungszeichen) dekodiert.
  • < wird in < (Kleiner als) dekodiert.
  • > wird in > (Größer als) dekodiert.

Die Funktion htmlspecialchars_decode() ist das Gegenteil der Funktion htmlspecialchars().

Syntax

htmlspecialchars_decode(string,flags)
Parameter Beschreibung
string Erforderlich. Definiert die zu dekodierenden Zeichenkette.
flags

Optional. Definiert, wie Anführungszeichen behandelt werden und welche Dokumentenspezifikation verwendet wird.

Verfügbare Anführungszeichen-Typen:

  • 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 Dokumentenspezifikation festlegen:

  • ENT_HTML401 - Standard. Als HTML 4.01-Code verarbeiten.
  • ENT_HTML5 - Als HTML 5-Code verarbeiten.
  • ENT_XML1 - Als XML 1-Code verarbeiten.
  • ENT_XHTML - Als XHTML-Code verarbeiten.

Technische Details

Rückgabewert: Gibt den umgewandelten String zurück.
PHP-Version: 5.1.0+
Aktualisierungsprotokoll:

In PHP 5.4 wurden zusätzliche Flags hinzugefügt, um den verwendeten Dokumenttyp zu spezifizieren:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML

Mehr Beispiele

Beispiel 1

Umwandlung der vordefinierten HTML-Entitäten in Zeichen:

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // Nur doppelte Anführungsstriche umwandeln
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // Umwandlung von doppelten und einfachen Anführungsstrichen
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Keine Anführungsstriche umwandeln
?>

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

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

Die Browser-Ausgabe des obigen Codes:

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

Beispiel 2

Umwandlung der vordefinierten HTML-Entitäten in doppelte Anführungsstriche:

<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // Umwandlung von doppelten und einfachen Anführungsstrichen
?>

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

<!DOCTYPE html>
<html>
<body>
Ich liebe "PHP".
</body>
</html>

Die Browser-Ausgabe des obigen Codes:

Ich liebe "PHP".