PHP html_entity_decode()Functions

PHP String 参考手册PHP String Reference Manual

Examples

Convert HTML entities to characters:

<?php
$str = "&lt;&copy; W3CS&ccedil;h&deg;&deg;&brvbar;&sect;&gt;";
echo html_entity_decode($str);
?>

The HTML output of the above code is as follows (view source code):

<!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>

The browser output of the above code is as follows:

<© W3CSçh°°¦§>


Definition and Usage

The html_entity_decode() function converts HTML entities to characters.

The html_entity_decode() function is thehtmlentities()inverse function of the function.


Syntax

html_entity_decode(string,flags,character-set)

Parameters Description
string Required. Specifies the string to be decoded.
flags Optional. Specifies how to handle quotes and which document type to use.

Available quote types:

  • ENT_COMPAT - Default. Only decodes double quotes.
  • ENT_QUOTES - Decodes double and single quotes.
  • ENT_NOQUOTES - Does not decode any quotes.

Additional flags specifying the document type to use:

  • ENT_HTML401 - Default. Process code as HTML 4.01.
  • ENT_HTML5 - Process code as HTML 5.
  • ENT_XML1 - Process code as XML 1.
  • ENT_XHTML - Process code as XHTML.
character-set Optional. A string that specifies the character set to use.

Allowed values:

  • UTF-8 - Default. ASCII-compatible multibyte 8-bit Unicode
  • ISO-8859-1 - Western European
  • ISO-8859-15 - Western European (adds the Euro sign + French and Finnish letters missing in ISO-8859-1)
  • cp866 - DOS-specific Cyrillic character set
  • cp1251 - Windows-specific Cyrillic character set
  • cp1252 - Windows-specific Western European character set
  • KOI8-R - Russian
  • BIG5 - Traditional Chinese, mainly used in Taiwan
  • GB2312 - Simplified Chinese, national standard character set
  • BIG5-HKSCS - Big5 with Hong Kong extensions
  • Shift_JIS - Japanese
  • EUC-JP - Japanese
  • MacRoman - Character set used by Mac operating system

Note:In versions before PHP 5.4, unrecognized character sets were ignored and replaced by ISO-8859-1. As of PHP 5.4, unrecognized character sets are ignored and replaced by UTF-8.

Technical Details

Return value: Returns the converted string.
PHP Version: 4.3.0+
Changelog: In PHP 5,character-setthe default value of the parameter was changed to UTF-8.

In PHP 5.4, additional flags for specifying the document type to use were added: ENT_HTML401, ENT_HTML5, ENT_XML1, and ENT_XHTML.

In PHP 5.0, support for multibyte encodings was added.


More Examples

Example 1

Convert some HTML entities to characters:

<?php
$str = "Jane &amp; &#039;Tarzan&#039;";
echo html_entity_decode($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); // Does not convert any quotes
?>

The HTML output of the above code is as follows (view source code):

<!DOCTYPE html>
<html>
<body>
Jane & &#039;Tarzan&#039;<br>
Jane & 'Tarzan'<br>
Jane & &#039;Tarzan&#039;
</body>
</html>

The browser output of the above code is as follows:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'


Example 2

Convert some HTML entities to characters by using the Western European character set:

<?php
$str = "My name is &Oslash;yvind &Aring;sane. I&#039;m Norwegian.";
echo html_entity_decode($str, ENT_QUOTES, "ISO-8859-1");
?>

The HTML output of the code above will be (View Source):

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

The browser output of the above code is as follows:

My name is Øyvind Åsane. I'm Norwegian.



PHP String 参考手册PHP String Reference Manual Other Extensions