html_entity_decode
Convert all HTML entities to their applicable characters
&reftitle.description;
stringhtml_entity_decode
stringstring
intquote_styleENT_COMPAT
stringcharset'UTF-8'
html_entity_decode is the opposite of
htmlentities in that it converts all HTML entities
to their applicable characters from string.
&reftitle.parameters;
string
The input string.
quote_style
The optional second quote_style parameter lets
you define what will be done with 'single' and "double" quotes. It takes
on one of three constants:
Available quote_style constants
Constant Name
Description
ENT_COMPAT
Will convert double-quotes and leave single-quotes alone.
ENT_QUOTES
Will convert both double and single quotes.
ENT_NOQUOTES
Will leave both double and single quotes unconverted.
charset
This defines the character set used in conversion. Using an empty string
will activate automatic detection based on mbstring's internal encoding
and current locale.
&reference.strings.charsets;
&reftitle.returnvalues;
Returns the decoded string.
&reftitle.changelog;
&Version;
&Description;
5.4.0
Default charset changed from ISO-8859-1 to UTF-8.
5.0.0
Support for multi-byte character sets was added.
&reftitle.examples;
Decoding HTML entities
dog now";
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // I'll "walk" the <b>dog</b> now
echo $b; // I'll "walk" the dog now
// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities($string)
{
// replace numeric entities
$string = preg_replace('~([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
$string = preg_replace('~([0-9]+);~e', 'chr("\\1")', $string);
// replace literal entities
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}
$c = unhtmlentities($a);
echo $c; // I'll "walk" the dog now
?>
]]>
&reftitle.notes;
You might wonder why trim(html_entity_decode(' ')); doesn't
reduce the string to an empty string, that's because the ' '
entity is not ASCII code 32 (which is stripped by
trim) but ASCII code 160 (0xa0) in the default ISO
8859-1 characterset.
&reftitle.seealso;
htmlentities
htmlspecialchars
get_html_translation_table
urldecode