PHP html_entity_decode() functie

Voorbeeld

Converteert voorgedefinieerde HTML-entiteiten "<" (kleiner dan) en ">" (groter dan) naar karakters:

<?php
$str = "Dit is enkele <b>vetgedrukte</b> tekst.";
echo htmlspecialchars_decode($str);
?>

Hier is de HTML-uitvoer van de bovenstaande code (bekijk de broncode):

<!DOCTYPE html>
<html>
<body>
Dit is enkele <b>vetgedrukte</b> tekst.
</body>
</html>

Hier is de browser-uitvoer van de bovenstaande code:

Dit is enkele vetgedrukte tekst.

Definitie en gebruik

De functie htmlspecialchars_decode() converteert voorgedefinieerde HTML-entiteiten naar karakters.

De te dekoderen HTML-entiteiten zijn:

  • & Decodeert naar & (en)
  • " Decodeert naar " (dubbele aanhalingsteken)
  • ' Decodeert naar ' (enkele aanhalingsteken)
  • < Decodeert naar < (kleiner dan)
  • > Decodeert naar > (groter dan)

De functie htmlspecialchars_decode() is het tegengestelde van de functie htmlspecialchars().

Syntax

htmlspecialchars_decode(string,flags)
Parameter Beschrijving
string Verplicht. Bepaalt de te dekoderen string.
flags

Optioneel. Bepaalt hoe aanhalingstekens moeten worden behandeld en welk documenttype moet worden gebruikt.

Beschikbare aanhalingstekentypen:

  • ENT_COMPAT - Standaard. Dekodeert alleen dubbele aanhalingstekens.
  • ENT_QUOTES - Dekodeert dubbele en enkele aanhalingstekens.
  • ENT_NOQUOTES - Dekodeert geen aanhalingstekens.

Aanvullende flags voor het gebruikte documenttype:

  • ENT_HTML401 - Standaard. Behandeld als HTML 4.01-code.
  • ENT_HTML5 - Behandeld als HTML 5-code.
  • ENT_XML1 - Behandeld als XML 1-code.
  • ENT_XHTML - Behandeld als XHTML-code.

Technische details

Retourwaarde: Geef de geconverteerde string terug.
PHP Versie: 5.1.0+
Update log:

In PHP 5.4 zijn extra flags toegevoegd om het gebruikte documenttype te specificeren:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML

Meer voorbeelden

Voorbeeld 1

Converteer vooraf gedefinieerde HTML-entiteiten naar karakters:

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // Only convert double quotes
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // Convert double and single quotes
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Do not convert any quotes
?>

Hier is de HTML-uitvoer van de bovenstaande code (bekijk de broncode):

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

Hier is de browser-uitvoer van de bovenstaande code:

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

Voorbeeld 2

Converteer vooraf gedefinieerde HTML-entiteiten naar double quotes:

<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // Convert double and single quotes
?>

Hier is de HTML-uitvoer van de bovenstaande code (bekijk de broncode):

<!DOCTYPE html>
<html>
<body>
Ik hou van "PHP".
</body>
</html>

Hier is de browser-uitvoer van de bovenstaande code:

Ik hou van "PHP".