PHP html_entity_decode() 函数
PHP html_entity_decode() 函数把 HTML 实体转换为字符
( PHP >= 4.3.0 )
函数原型
html_entity_decode( string,flags,character-set )
html_entity_decode() 函数是 htmlentities() 函数的反函数
参数
参数 | 描述 |
---|---|
string | 必需。规定要解码的字符串 |
flags | 可选。规定如何处理引号以及使用哪种文档类型 |
character-set | 可选。一个规定了要使用的字符集的字符串 |
参数 flag 可选的附加值如下
值 | 描述 |
---|---|
ENT_HTML401 | 默认。作为 HTML 4.01 处理代码 |
ENT_HTML5 | 作为 HTML 5 处理代码 |
ENT_XML1 | 作为 XML 1 处理代码 |
ENT_XHTML | 作为 XHTML 处理代码 |
character-set 可选的字符集如下
字符集 | 描述 |
---|---|
UTF-8 | 默认。ASCII 兼容多字节的 8 位 Unicode |
ISO-8859-1 | 西欧 |
ISO-8859-15 | 西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母 |
cp866 | DOS 专用 Cyrillic 字符集 |
cp1251 | Windows 专用 Cyrillic 字符集 |
cp1252 | Windows 专用西欧字符集 |
KOI8-R | 俄语 |
BIG5 | 繁体中文,主要在台湾使用 |
GB2312 | 简体中文,国家标准字符集 |
BIG5-HKSCS | 带香港扩展的 Big5 |
Shift_JIS | 日语 |
EUC-JP | 日语 |
MacRoman | Mac 操作系统使用的字符集 |
在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代
自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代
返回值
返回已转换的字符串
更新说明
PHP 版本 | 更新日志 |
---|---|
PHP 5.4 | 新增了用于规定使用的文档类型的附加 flags ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML |
PHP 5.0 | 新增了对多字节编码的支持,character-set 参数的默认值改为 UTF-8 |
范例
把 HTML 实体转换为字符
<?php $str = "<© TWLEçh°°¦§>"; echo html_entity_decode($str);
运行以上 PHP 范例,输出结果如下
<© TWLEçh°°¦§>
点击 "查看源码" 输出结果如下
<© TWLEçh°°¦§>
范例 2
把一些 HTML 实体转换为字符
<?php $str = "Jane & 'Tarzan'"; echo html_entity_decode($str, ENT_COMPAT); echo "<br>"; echo html_entity_decode($str, ENT_QUOTES); echo "<br>"; echo html_entity_decode($str, ENT_NOQUOTES);
运行以上 PHP 范例,输出结果如下
Jane & 'Tarzan' Jane & 'Tarzan' Jane & 'Tarzan'
点击 "查看源码" 输出结果如下
Jane & 'Tarzan'<br>Jane & 'Tarzan'<br>Jane & 'Tarzan'
范例 3
通过使用西欧字符集,把一些 HTML 实体转换为字符
<?php $str = "My name is Øyvind Åsane. I'm Norwegian."; echo html_entity_decode($str, ENT_QUOTES, "ISO-8859-1");
运行以上 PHP 范例,输出结果如下
My name is Øyvind Åsane. I'm Norwegian.
点击 "查看源码" 输出结果如下
My name is Øyvind Åsane. I'm Norwegian.