PHP html_entity_decode() funktion

Exempel

把 HTML 实体转换为字符:

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

HTML-utmatningen av följande kod är som följer (visa källkoden):

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

以上代码的浏览器输出:

<? W3S?h????>

Definition och användning

html_entity_decode() funktionen konverterar HTML-entiteter till tecken.

html_entity_decode() funktionen är htmlentities() Funktionens invers.

Syntax

html_entity_decode(string,flags,character-set)
Parameter Beskrivning
string Obligatorisk. Specificerar den sträng som ska decoded.
flags

Valfritt. Specificerar hur citattecken ska behandlas och vilken dokumenttyp som används.

Tillåtna citattecken:

  • ENT_COMPAT - standard. Decode only double quotes.
  • ENT_QUOTES - decode both double and single quotes.
  • ENT_NOQUOTES - decoded any quotes.

Specificera extra flaggor för den använda dokumenttypen:

  • ENT_HTML401 - standard. Behandlas som HTML 4.01.
  • ENT_HTML5 - behandlas som HTML 5.
  • ENT_XML1 - behandlas som XML 1.
  • ENT_XHTML - behandlas som XHTML.
character-set

Valfritt. Strängvärde som specificerar den teckenuppsättning som ska användas.

Tillåtna värden:

  • UTF-8 - standard. 8-bit Unicode som är kompatibel med ASCII
  • ISO-8859-1 - västerländsk
  • ISO-8859-15 - västerländsk (inbegriper euro-tecken + de franska och finska bokstäver som saknas i ISO-8859-1)
  • cp866 - DOS-exklusiv kyrillisk teckenuppsättning
  • cp1251 - Windows-exklusiv kyrillisk teckenuppsättning
  • cp1252 - Windows-exklusiv västerländsk teckenuppsättning
  • KOI8-R - ryska
  • BIG5 - traditionell kinesiska, huvudsakligen använd i Taiwan
  • GB2312 - förenklad kinesiska, nationell standardteckenuppsättning
  • BIG5-HKSCS - Big5 med utökning för Hong Kong
  • Shift_JIS - japanska
  • EUC-JP - japanska
  • MacRoman - teckenuppsättning som används av Mac-operativsystemet

Kommentarer:I versioner av PHP 5.4 och tidigare, ignoreras okända teckenuppsättningar och ersätts av ISO-8859-1. Från PHP 5.4 och framåt, ignoreras okända teckenuppsättningar och ersätts av UTF-8.

Tekniska detaljer

Returvärde: Returnera den konverterade strängen
PHP-version: 4.3.0+

Uppdateringslogg:

Version Beskrivning
PHP 5 character-set Standardvärdet för parametern ändras till UTF-8.
PHP 5.4

Lägg till extra flaggor för att specificera vilken dokumenttyp översättnings-tabellen är tillämplig på:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML
PHP 5.3.4 Added support for multibyte encoding.

更多实例

例子 1

把 HTML 实体转换为字符:

<?php
$str = "Bill & 'Steve'";
echo html_entity_decode($str, ENT_COMPAT); // 只转换双引号
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // 转换双引号和单引号
echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); // 不转换任何引号
?>

以上代码的 HTML 输出(查看源代码):

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

以上代码的浏览器输出:

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

例子 2

通过使用西欧字符集,把 HTML 实体转换为字符:

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

以上代码的 HTML 输出(查看源代码):

<!DOCTYPE html>
<html>
<body>
My name is ?yvind ?sane. I'm Norwegian.
</body>
</html>

以上代码的浏览器输出:

My name is ?yvind ?sane. I'm Norwegian.