PHP htmlentities() 函数
说明
htmlentities() 函数将所有适用的字符转换为 HTML 实体。
此函数通常会反转 html_entity_decode() 函数的效果。
下表总结了该函数的技术细节。
| 返回值: | 返回编码的字符串。 如果输入字符串在给定的 charset 中包含无效的代码序列,它将返回一个空字符串,除非设置了 ENT_IGNORE 或 ENT_SUBSTITUTE 标志。 |
|---|---|
| 版本: | PHP 4+ |
语法
htmlentities() 函数的基本语法如下:
下面的例子展示了 htmlentities() 函数的作用。
<?php
// 示例字符串
$str = "It's an <b>\"amazing\"</b> story.";
// 编码字符串
$encoded_str = htmlentities($str);
echo $encoded_str;
?>
上述示例的输出将是(查看源代码以获取想法):
但是,在浏览器中,您会看到如下内容:
注意: htmlentities() 在所有方面都与 htmlspecialchars() 相同,只是 htmlspecialchars() 仅替换 &, <, 和 >,,具有单引号和双引号选项。 但是 htmlentities() 替换了所有可以用 HTML 字符实体表示的字符。
提示:您可以使用 get_html_translation_table() 函数返回在内部用于 htmlspecialchars() 和 htmlentities() 函数的转换表。
参数
htmlentities() 函数接受以下参数。
| 参数 | 说明 |
|---|---|
| string | 必填。 指定要编码的字符串。 |
| flags |
可选。 指定如何处理引号、无效代码序列以及要使用的文档类型。 您可以指定以下一个或多个标志。 处理引号的可用标志常量是:
用于处理无效代码序列的可用标志常量是:
用于指定文档类型的可用标志常量有:
此参数的默认值为 |
| charset |
可选。 指定要使用的字符集。 支持的字符集是:
如果省略此参数,则默认为 |
| double_encode | 可选。 一个布尔值,它指定是否对现有的 html 实体进行编码。 可能的值为 true 和 false。 默认值是 true 转换一切。 |
更多示例
这里有更多示例展示了 htmlentities() 函数的实际工作原理:
以下示例演示了使用此函数处理单引号和双引号。
<?php
// 示例字符串
$str = "I'll \"leave\" tomorrow.";
// 只转换双引号
$a = htmlentities($str, ENT_COMPAT);
echo $a; /* I'll "leave" tomorrow. */
// 转换双引号和单引号
$b = htmlentities($str, ENT_QUOTES);
echo $b; /* I'll "leave" tomorrow. */
// 不转换任何引号
$c = htmlentities($str, ENT_NOQUOTES);
echo $c; /* I'll "leave" tomorrow. */
?>
但是,在浏览器中,您将始终看到字符串 I'll "leave" tomorrow. 查看示例输出的源代码(右键单击并选择查看页面源代码)以查看实际编码 字符串。
