当前位置: 首页> 函数类别大全> 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 攻击。

同类函数
  • 检查字符串是否以给定的子字符串开头 str_starts_with

    str_starts_with

    检查字符串是否以给定的子字符串开头
  • 基于区域设置的字符串比较 strcoll

    strcoll

    基于区域设置的字符串比较
  • 将字符串拆分为较小的块 chunk_split

    chunk_split

    将字符串拆分为较小的块
  • 将数字格式化成货币字符串 money_format

    money_format

    将数字格式化成货币字符串
  • 反转一个字符串 strrev

    strrev

    反转一个字符串
  • 输出格式化的字符串 printf

    printf

    输出格式化的字符串
  • 单向字符串散列 crypt

    crypt

    单向字符串散列
  • 计算字符串的metaphone键 metaphone

    metaphone

    计算字符串的metaphone键
热门文章