PHP html_entity_decode() functie

Voorbeeld

Converteer HTML-entiteiten naar tekens:

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

De HTML-uitvoer van de bovenstaande code is als volgt (bekijk de broncode):

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

Hier is de browser-output van de bovenstaande code:

<? W3S?h????>

Definitie en gebruik

De functie html_entity_decode() convertiet HTML-entiteiten naar tekens.

De functie html_entity_decode() is htmlentities() Het tegengestelde van de functie.

Syntaxis

html_entity_decode(string,flags,character-set)
Parameter Beschrijving
string Verplicht. Specificeer de te decoderen string.
flags

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

Beschikbare aanhalingstekentypen:

  • ENT_COMPAT - Standaard. Decodeer alleen dubbele aanhalingstekens.
  • ENT_QUOTES - Decodeer zowel dubbele als enkele aanhalingstekens.
  • ENT_NOQUOTES - Decodeer geen aanhalingstekens.

Specificeer de extra flags voor het gebruikte documenttype:

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

Optioneel. Stringwaarde die de te gebruiken character set specificeert.

Toegestane waarden:

  • UTF-8 - Standaard. ASCII-compatibele 8-bits Unicode
  • ISO-8859-1 - West-Europees
  • ISO-8859-15 - West-Europees (met toevoeging van de euro-teken + de Franse en Fins letters die ontbreken in ISO-8859-1)
  • cp866 - Specifieke Cyrillic character set voor DOS
  • cp1251 - Specifieke Cyrillic character set voor Windows
  • cp1252 - Specifieke West-Europese character set voor Windows
  • KOI8-R - Russisch
  • BIG5 - Traditioneel Chinees, voornamelijk gebruikt in Taiwan
  • GB2312 - Vereenvoudigd Chinees, nationaal character set
  • BIG5-HKSCS - Big5 met uitbreidingen voor Hong Kong
  • Shift_JIS - Japans
  • EUC-JP - Japans
  • MacRoman - Character set gebruikt door het Mac-besturingssysteem

Opmerking:In versies van PHP 5.4 en eerder worden onherkenbare character sets genegeerd en worden vervangen door ISO-8859-1. Sinds PHP 5.4 worden onherkenbare character sets genegeerd en worden vervangen door UTF-8.

Technische details

Retourwaarde: Geef de omgeconversione string terug
PHP versie: 4.3.0+

Update log:

Versie Beschrijving
PHP 5 character-set De standaardwaarde van het parameter is veranderd naar UTF-8.
PHP 5.4

Voeg extra flags toe om de documenttype die de vertaaltabels moeten toepassen te specificeren:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML
PHP 5.3.4 Nieuwe ondersteuning voor meertalige codering is toegevoegd.

Meer voorbeelden

Voorbeeld 1

Converteer HTML-entiteiten naar tekens:

<?php
$str = "Bill & 'Steve'";
echo html_entity_decode($str, ENT_COMPAT); // Alleen aanpassing van dubbele aanhalingstekens
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // Aanpassing van dubbele en enkele aanhalingstekens
echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); // Geen aanpassing van aanhalingstekens
?>

Hier is de HTML-output van de bovenstaande code (broncode bekijken):

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

Hier is de browser-output van de bovenstaande code:

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

Voorbeeld 2

Converteer HTML-entiteiten naar tekens met behulp van het west-Europese karakterset:

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

Hier is de HTML-output van de bovenstaande code (broncode bekijken):

<!DOCTYPE html>
<html>
<body>
Mijn naam is ?yvind ?sane. Ik ben Noors.
</body>
</html>

Hier is de browser-output van de bovenstaande code:

Mijn naam is ?yvind ?sane. Ik ben Noors.