PHP html_entity_decode() Function
Example
Convert HTML entities to characters:
<?php
$str = "<© W3Sçh°°¦§>";
echo html_entity_decode($str);
?>
The HTML output of the code above will be (View Source):
<!DOCTYPE html>
<html>
<body>
<© W3Sçh°°¦§>
</body>
</html>
The browser output of the code above will be:
<© W3Sçh°°¦§>
Definition and Usage
The html_entity_decode() function converts HTML entities to characters.
The html_entity_decode() function is the opposite of htmlentities().
Syntax
html_entity_decode(string,flags,character-set)
Parameter | Description |
---|---|
string | Required. Specifies the string to decode |
flags | Optional. Specifies how to handle quotes and which document type to use. The available quote styles are:
Additional flags for specifying the used doctype:
|
character-set | Optional. A string that specifies which character-set to use. Allowed values are:
Note: Unrecognized character-sets will be ignored and replaced by ISO-8859-1 in versions prior to PHP 5.4. As of PHP 5.4, it will be ignored an replaced by UTF-8. |
Technical Details
Return Value: | Returns the converted string |
---|---|
PHP Version: | 4.3.0+ |
Changelog: | The default value for the character-set parameter was changed
to UTF-8 in PHP 5 The additional flags for specifying the used doctype; ENT_HTML401, ENT_HTML5, ENT_XML1 and ENT_XHTML were added in PHP 5.4 Support for multi-byte encodings was added in PHP 5.0 |
More Examples
Example 1
Convert some HTML entities to characters:
<?php
$str = "Jane & 'Tarzan'";
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 code above will be (View Source):
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
The browser output of the code above will be:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Example 2
Convert some HTML entities to characters, using the Western European character-set:
<?php
$str = "My name is Øyvind Åsane. I'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 code above will be:
My name is Øyvind Åsane. I'm Norwegian.
PHP String Reference