PHP html_entity_decode() funktion

Eksempel

Konverter fordefinerede HTML-entiteter "<" (mindre end) og ">" (større end) til tegn:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>

HTML-outputtet for ovenstående kode er som følger (se kildekode):

<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

Browserens output af ovenstående kode:

This is some bold text.

Definition og brug

htmlspecialchars_decode() funktionen konverterer fordefinerede HTML-entiteter til tegn.

HTML-entiteter, der dekodes, er:

  • & Dekoder til & (og-tegn)
  • " Dekoder til " (doble citationstegn)
  • ' Dekoder til ' (enkle citationstegn)
  • < Dekoder til < (mindre end)
  • > Dekoder til > (større end)

htmlspecialchars_decode() funktionen er den inverse funktion af htmlspecialchars() funktionen.

Syntaks

htmlspecialchars_decode(string,flags)
Parameter Beskrivelse
string Obligatorisk. Angiver den streng, der skal dekodes.
flags

Valgfri. Angiver hvordan citationstegn skal håndteres samt hvilken dokumenttype der skal bruges.

Tilgængelige citationstyper:

  • ENT_COMPAT - Standard. Kun解码双引号。
  • ENT_QUOTES - 解码双引号和单引号。
  • ENT_NOQUOTES -解码任何引号。

Yderligere flags for den anvendte dokumenttype:

  • ENT_HTML401 - Standard. Som HTML 4.01-behandling af kode.
  • ENT_HTML5 - Som HTML 5-behandling af kode.
  • ENT_XML1 - Som XML 1-behandling af kode.
  • ENT_XHTML - Som XHTML-behandling af kode.

Tekniske detaljer

Returværdi: Returnerer den konverterede streng.
PHP version 5.1.0+
Opdateringslog

I PHP 5.4 blev der tilføjet yderligere flags til at specificere det dokumenttype, der skal bruges:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML

Flere eksempler

Eksempel 1

Konverter foruddefinerede HTML-entiteter til tegn:

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // Kun konverter dobbelte anførselstegn
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // Konverter dobbelte anførselstegn og enkelt anførselstegn
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Konverter ikke nogen anførselstegn
?>

HTML-outputtet for ovenstående kode er som følger (se kildekode):

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

Browserens output af ovenstående kode:

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

Eksempel 2

Konverter foruddefinerede HTML-entiteter til dobbelte anførselstegn:

<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // Konverter dobbelte anførselstegn og enkelt anførselstegn
?>

HTML-outputtet for ovenstående kode er som følger (se kildekode):

<!DOCTYPE html>
<html>
<body>
Jeg elsker "PHP".
</body>
</html>

Browserens output af ovenstående kode:

Jeg elsker "PHP".