Description
string 
html_entity_decode ( string string [, int quote_style [, string charset]])
     html_entity_decode() is the opposite of
     htmlentities() in that it converts all HTML entities
     to their applicable characters from string.
    
     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 with the default being 
     ENT_COMPAT:
     
表格 1. 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. | 
     The ISO-8859-1 character set is used as default for the optional third
     charset. This defines the character set used in
     conversion.
    
 PHP 4.3.0 及其后续版本支持如下字符集。
 
表格 2. 已支持字符集
| 字符集 | 别名 | 描述 | 
|---|
| ISO-8859-1 | ISO8859-1 | 西欧,Latin-1 | 
| ISO-8859-15 | ISO8859-15 | 西欧,Latin-9。增加了 Latin-1(ISO-8859-1)中缺少的欧元符号、法国及芬兰字母。 | 
| UTF-8 |  | ASCII 兼容多字节 8-bit Unicode。 | 
| cp866 | ibm866, 866 | DOS-特有的 Cyrillic 字母字符集。PHP 4.3.2 开始支持该字符集。 | 
| cp1251 | Windows-1251, win-1251, 1251 | Windows-特有的 Cyrillic 字母字符集。PHP 4.3.2 开始支持该字符集。 | 
| cp1252 | Windows-1252, 1252 | Windows 对于西欧特有的字符集。 | 
| KOI8-R | koi8-ru, koi8r | 俄文。PHP 4.3.2 开始支持该字符集。 | 
| BIG5 | 950 | 繁体中文,主要用于中国台湾。 | 
| GB2312 | 936 | 简体中文,国际标准字符集。 | 
| BIG5-HKSCS |  | 繁体中文,Big5 的延伸,主要用于香港。 | 
| Shift_JIS | SJIS, 932 | 日文。 | 
| EUC-JP | EUCJP | 日文。 | 
注: 
   ISO-8859-1 将代替任何其它无法识别的字符集。
  
     
| 例子 1. Decoding HTML entities | 
<?php$orig = "I'll \"walk\" the <b>dog</b> 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 <b>dog</b> now
 
 
 // For users prior to PHP 4.3.0 you may do this:
 function unhtmlentities($string)
 {
 $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 <b>dog</b> now
 
 ?>
 | 
 | 
    
     
注: 
       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.
      
     See also htmlentities(),
     htmlspecialchars(),
     get_html_translation_table(), 
     and urldecode().