English | 简体中文 | 繁體中文
查询

htmlentities()函数—用法及示例

「 将字符串中的特殊字符转换为HTML实体 」


函数名称:htmlentities()

适用版本:所有版本

函数介绍:htmlentities() 函数将字符串中的特殊字符转换为HTML实体。它可以防止在HTML文档中出现特殊字符造成的错误或安全问题。

语法:htmlentities(string $string, int $flags = ENT_COMPAT | ENT_HTML401, string|null $encoding = null, bool $double_encode = true): string

参数:

  • $string(必需):要转换的字符串。
  • $flags(可选):指定转换的规则和HTML版本。默认为 ENT_COMPAT | ENT_HTML401,表示使用HTML 4.01规范中的转换规则。其他可能的值有:ENT_QUOTES(转换单引号和双引号)、ENT_NOQUOTES(不转换引号)、ENT_HTML5(使用HTML5规范中的转换规则)等。
  • $encoding(可选):指定要使用的字符编码。默认为 null,表示使用脚本的默认字符编码。
  • $double_encode(可选):指定是否对已经存在的HTML实体进行二次转换。默认为 true,表示进行二次转换,防止实体被转换为实体。

返回值:返回转换后的字符串。

示例:

$input = "I'm a <strong>PHP</strong> developer!";
$output = htmlentities($input);
echo $output;
// 输出:I'm a &lt;strong&gt;PHP&lt;/strong&gt; developer!

$input = "I'm a <strong>PHP</strong> developer!";
$output = htmlentities($input, ENT_QUOTES);
echo $output;
// 输出:I&#039;m a &lt;strong&gt;PHP&lt;/strong&gt; developer!

$input = "I'm a <strong>PHP</strong> developer!";
$output = htmlentities($input, ENT_QUOTES, 'UTF-8');
echo $output;
// 输出:I&#039;m a &lt;strong&gt;PHP&lt;/strong&gt; developer!

$input = "I'm a <strong>PHP</strong> developer!";
$output = htmlentities($input, ENT_QUOTES, 'UTF-8', false);
echo $output;
// 输出:I'm a &lt;strong&gt;PHP&lt;/strong&gt; developer!

注意事项:

  • 为了避免XSS攻击,请在输出用户输入的内容时使用htmlentities()函数。
  • 如果已经对字符串进行过转义,设置$double_encode参数为false可以避免对已存在的HTML实体进行二次转换。
补充纠错
上一个函数: htmlspecialchars()函数
下一个函数: ibase_param_info()函数
热门PHP函数
分享链接