PHP htmlentities() 函数
示例
将某些字符转换为 HTML 实体
<?php
$str = '<a href="https://w3schools.org.cn">Go to w3schools.com</a>';
echo htmlentities($str);
?>
上述代码的 HTML 输出是 (查看源代码)
<a href="https://w3schools.org.cn">Go to w3schools.com</a>
上述代码的浏览器输出是
<a href="https://w3schools.org.cn">Go to w3schools.com</a>
自己动手试一试 »
定义和用法
htmlentities() 函数将字符转换为 HTML 实体。
提示:要将 HTML 实体转换回字符,请使用 html_entity_decode() 函数。
提示:使用 get_html_translation_table() 函数返回 htmlentities() 使用的转换表。
语法
htmlentities(string,flags,character-set,double_encode)
参数值
参数 | 描述 |
---|---|
string | 必需。指定要转换的字符串 |
flags | 可选。指定如何处理引号、无效编码和使用的文档类型。 可用的引号样式是
无效编码
指定文档类型的附加标志
|
字符集 | 可选。一个字符串,指定要使用的字符集。 允许的值是
注意: 在 PHP 5.4 之前的版本中,无法识别的字符集将被忽略并替换为 ISO-8859-1。从 PHP 5.4 开始,它将被忽略并替换为 UTF-8。 |
double_encode | 可选。一个布尔值,指定是否对已有的 HTML 实体进行编码。
|
技术详情
返回值 | 返回转换后的字符串。但是,如果string参数包含无效编码,它将返回一个空字符串,除非设置了ENT_IGNORE或ENT_SUBSTITUTE标志。 |
---|---|
PHP 版本 | 4+ |
更新日志 | PHP 5.6 - 将character-set参数的默认值更改为配置中的默认字符集值。 PHP 5.4 - 将character-set参数的默认值更改为UTF-8。 PHP 5.4 - 添加了ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1和ENT_XHTML。 PHP 5.3 - 添加了ENT_IGNORE常量。 PHP 5.2.3 - 添加了double_encode参数。 PHP 4.1 - 添加了character-set参数。 |
更多示例
示例
将某些字符转换为 HTML 实体
<?php
$str = "Albert Einstein said: 'E=MC²'";
echo htmlentities($str, ENT_COMPAT); // 只会转换双引号
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // 转换双引号和单引号
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // 不转换任何引号
?>
上述代码的 HTML 输出是 (查看源代码)
Albert Einstein said: 'E=MC²'<br>
Albert Einstein said: 'E=MC²'<br>
Albert Einstein said: 'E=MC²'
上述代码的浏览器输出是
Albert Einstein said: 'E=MC²'
Albert Einstein said: 'E=MC²'
Albert Einstein said: 'E=MC²'
自己动手试一试 »
示例
使用西欧字符集将一些字符转换为HTML实体。
<?php
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "UTF-8"); // 只会转换双引号(不转换单引号),并使用西欧字符集。
?>
上述代码的 HTML 输出是 (查看源代码)
<!DOCTYPE html>
<html>
<body>
My name is Øyvind Åsane. I'm Norwegian.
</body>
</html>
上述代码的浏览器输出是
My name is Øyvind Åsane. I'm Norwegian.
自己动手试一试 »
❮ PHP 字符串参考