PHP html_entity_decode 字符串函数

  • 定义和用法

    html_entity_decode - 将HTML实体转换为相应的字符。
  • 版本支持

    PHP4 PHP5 PHP7
    大于等于V4.3.0+支持 支持 支持
  • 语法

    html_entity_decode (string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") ]] )
    htmlentities()相反,它将字符串中的HTML实体转换为相应的字符。更确切地说,此函数解码a)必须对所选文档类型有效的所有实体(包括所有数字实体) - 即,对于XML,此函数不解码可能在某些DTD中定义的命名实体 - 和b) 其字符或字符在与所选编码相关联的编码字符集中,并且在所选文档类型中是允许的。 所有其他实体保持原样。
  • 参数

    参数 必需的 描述
    string 输入的字符串
    flags 以下一个或多个标志的位掩码,指定如何处理引号以及要使用的文档类型。 默认为ENT_COMPAT | ENT_HTML401
    • ENT_COMPAT 将转换双引号并单独留下单引号。
    • ENT_QUOTES 将转换双引号和单引号。
    • ENT_NOQUOTES 将双引号和单引号保留为未转换。
    • ENT_HTML401 将代码处理为HTML 4.01。
    • ENT_XML1 将代码处理为XML 1。
    • ENT_XHTML 将代码处理为XHTML。
    • ENT_HTML5 将代码处理为HTML 5。
    encoding 定义转换字符时使用的编码的可选参数。如果省略,则编码的默认值因使用的PHP版本而异。 在PHP 5.6及更高版本中,default_charset配置选项用作默认值。 PHP 5.4和5.5将使用UTF-8作为默认值。 早期版本的PHP使用ISO-8859-1。尽管此参数在技术上是可选的,但如果您使用的是PHP 5.5或更早版本,或者如果您的default_charset配置选项可能针对给定输入设置不正确,则强烈建议您为代码指定正确的值。
    encoding支持的字符编码:
    字符集 别名 描述
    ISO-8859-1 ISO8859-1 西欧,Latin-1
    ISO-8859-5 ISO8859-5 Little used cyrillic charset (Latin/Cyrillic).
    ISO-8859-15 ISO8859-15 西欧,Latin-9。增加欧元符号,法语和芬兰语字母在 Latin-1(ISO-8859-1) 中缺失。
    UTF-8   ASCII 兼容的多字节 8 位 Unicode。
    cp866 ibm866, 866 DOS 特有的西里尔编码。本字符集在 4.3.2 版本中得到支持。
    cp1251 Windows-1251, win-1251, 1251 Windows 特有的西里尔编码。本字符集在 4.3.2 版本中得到支持。
    cp1252 Windows-1252, 1252 Windows 特有的西欧编码。
    KOI8-R koi8-ru, koi8r 俄语。本字符集在 4.3.2 版本中得到支持。
    BIG5 950 繁体中文,主要用于中国台湾省。
    GB2312 936 简体中文,中国国家标准字符集。
    BIG5-HKSCS   繁体中文,附带香港扩展的 Big5 字符集。
    Shift_JIS SJIS, 932 日语
    EUC-JP EUCJP 日语
    MacRoman   Mac OS 使用的字符串。
    ''   空字符串按此顺序激活脚本编码(Zend multibyte),default_charset和当前语言环境(请参阅nl_langinfo()setlocale())的检测。 不建议。
    注意: 其他字符集没有认可。将会使用默认编码并抛出异常。
  • 返回值

    返回已解码的字符串。
  • 示例

    <?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 "<br/>";
    echo $b; // I'll "walk" the <b>dog</b> now
    ?>
    
    尝试一下
  • 相关函数

    htmlentities() - 将字符转换为 HTML 转义字符
    htmlspecialchars() - 将特殊字符转换为 HTML 实体
    get_html_translation_table() - 返回使用 htmlspecialchars 和 htmlentities 后的转换表
    urldecode() - 解码已编码的 URL 字符串