ホームページ >バックエンド開発 >PHPチュートリアル >HTML エンティティを文字に変換する PHP 関数 html_entity_decode()
实例
把 HTML 实体转换为字符:
<?php $str = "<© W3CSçh°°¦§>"; echo html_entity_decode($str); ?>
上面代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> <© W3CSçh°°¦§> </body> </html>
上面代码的浏览器输出如下:
<© W3CSçh°°¦§>
定义和用法
html_entity_decode() 函数把 HTML 实体转换为字符。
html_entity_decode() 函数是 htmlentities() 函数的反函数。
语法
html_entity_decode(string,flags,character-set)
参数 | 描述 |
string | 必需。规定要解码的字符串。 |
flags | 可选。规定如何处理引号以及使用哪种文档类型。 可用的引号类型:
规定使用的文档类型的附加 flags:
|
character-set | 可选。一个规定了要使用的字符集的字符串。 允许的值:
注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 |
技术细节 返回值: 返回已转换的字符串。 PHP 版本: 4.3.0+ 更新日志: 在 PHP 5 中,character-set 参数的默认值改为 UTF-8。 在 PHP 5.4 中,新增了用于规定使用的文档类型的附加 flags:ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。 更多实例 实例 1 把一些 HTML 实体转换为字符: 上面代码的 HTML 输出如下(查看源代码): 上面代码的浏览器输出如下: 实例 2 通过使用西欧字符集,把一些 HTML 实体转换为字符: The HTML output of the code above will be (View Source): 上面代码的浏览器输出如下: htmlentities(); html_entity_decode(); htmlspecialchars();
在 PHP 5.0 中,新增了对多字节编码的支持。 <?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
?>
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
<?php
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo html_entity_decode($str, ENT_QUOTES, "ISO-8859-1");
?>
<!DOCTYPE html>
<html>
<body>
My name is Øyvind Åsane. I'm Norwegian.
</body>
</html>
My name is Øyvind Åsane. I'm Norwegian.
$a = '<div><p>11111#11</p></div> /s #1';
$b = htmlentities($a);
echo 'htmlentities: '.$b;
echo "<br>";
$c = html_entity_decode($b);
echo 'html_entity_decode: '.$c;
$d = htmlspecialchars($a);
echo "htmlspecialchars: ".$d;
htmlentities: <div><p>11111#11</p></div> /s #1
html_entity_decode:
11111#11
/s #1
htmlspecialchars: <div><p>11111#11</p></div> /s #1
以上がHTML エンティティを文字に変換する PHP 関数 html_entity_decode()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。