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.
查看示例输出的源代码(右键单击并选择查看页面源代码)以查看实际编码 字符串。