当前位置: 首页> 函数类别大全> htmlspecialchars

htmlspecialchars

将特殊字符转换为HTML实体
名称:htmlspecialchars
分类:字符串
所属语言:php
一句话介绍:把一些预定义的字符转换为 HTML 实体。

htmlspecialchars

函数名

htmlspecialchars

适用 PHP 版本

自 PHP 4 起,htmlspecialchars 一直可用,PHP 5.4.0 起增加了对双引号实体的完整支持,并支持更多 flags。

函数说明

htmlspecialchars 函数用于将预定义的字符转换为 HTML 实体。主要用于防止跨站脚本攻击(XSS),通过将用户输入中的特殊字符(如 &、"&"、'<'、'>')转换为安全的 HTML 实体。

函数语法

string htmlspecialchars ( string $string [, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 [, string|null $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

参数

  • $string:必需。要转换的字符串。
  • $flags:可选。一个位掩码,决定如何处理引号、无效编码等。常见的选项有:
    • ENT_COMPAT - 默认。仅转换双引号。
    • ENT_QUOTES - 转换双引号和单引号。
    • ENT_NOQUOTES - 不转换任何引号。
    • ENT_HTML401, ENT_XML1, ENT_XHTML, ENT_HTML5 - 指定文档类型。
  • $encoding:可选。字符编码,默认是 ini 设置中的 default_charset。
  • $double_encode:可选。默认值为 true。如果设为 false,PHP 不会再次编码已经编码的 HTML 实体。

返回值

返回转换后的字符串,其中的特殊字符已被转为 HTML 实体。

示例

<?php
$str = "<a href='test'>Test</a>";
echo htmlspecialchars($str, ENT_QUOTES);
?>

示例代码的说明

上述代码中,原始字符串包含 HTML 标签和单引号。使用 htmlspecialchars 并设置 ENT_QUOTES 标志后,双引号和单引号都会被转换为 HTML 实体。输出结果为:

Test

这有助于防止用户提交的内容在页面上被直接解释为 HTML,有效防止 XSS 攻击。

同类函数
  • 查找字符串中子字符串第一次出现的位置 strpos

    strpos

    查找字符串中子字符串第一次出现的位置
  • 计算指定字符串在目标字符串中最后一次出现的位置 strrpos

    strrpos

    计算指定字符串在目标字符串中最后一次出现
  • 查询语言和区域设置信息 nl_langinfo

    nl_langinfo

    查询语言和区域设置信息
  • 二进制安全字符串比较 strcmp

    strcmp

    二进制安全字符串比较
  • 单向字符串散列 crypt

    crypt

    单向字符串散列
  • 将字符串转换为数组 str_split

    str_split

    将字符串转换为数组
  • 二进制安全比较字符串开头的若干个字符(不区分大小写) strncasecmp

    strncasecmp

    二进制安全比较字符串开头的若干个字符(不
  • 基于区域设置的字符串比较 strcoll

    strcoll

    基于区域设置的字符串比较
热门文章