温馨提示×

PHP htmlspecialchars函数详解

PHP
小樊
92
2024-12-11 03:45:12
栏目: 编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

htmlspecialchars() 是 PHP 中的一个非常有用的函数,用于将特殊字符转换为 HTML 实体

函数原型:

string htmlspecialchars ( string $string [, int $flags = ENT_QUOTES [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

参数说明:

  • $string:必需。需要转换的字符串。
  • $flags:可选。标志位,用于控制转换方式。有以下几个常用值:
    • ENT_QUOTES:将双引号(“)转换为 HTML 实体(”)。
    • ENT_NOQUOTES:不转换双引号(")。
    • ENT_HTML401:使用 HTML 4.01 标准进行转换(不推荐使用,因为 PHP 已经支持更严格的 HTML5 标准)。
    • ENT_XML1:使用 XML 1.0 标准进行转换。
    • ENT_XHTML:使用 XHTML 标准进行转换。
    • ENT_QUOTES | ENT_HTML401:将双引号(“)转换为 HTML 实体(”),并使用 HTML 4.01 标准进行转换。
  • $encoding:可选。指定字符编码。默认值为 ‘UTF-8’。支持的字符编码有 ‘ISO-8859-1’、‘ISO-8859-2’、‘ISO-8859-3’、‘ISO-8859-4’、‘ISO-8859-5’、‘ISO-8859-6’、‘ISO-8859-7’、‘ISO-8859-8’、‘ISO-8859-9’、‘Windows-1252’、‘UTF-8’、‘UTF-16’ 和 ‘UTF-32’。
  • $double_encode:可选。布尔值,指定是否对已经转换为 HTML 实体的字符进行双重编码。默认值为 true。如果设置为 false,已经转换为 HTML 实体的字符将不会被再次编码。

返回值: 返回一个字符串,其中所有特殊字符都被转换为相应的 HTML 实体。

示例:

<?php
$string = '<script>alert("XSS");</script>';
$encoded_string = htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
echo $encoded_string; // 输出:<script>alert("XSS");</script>
?>

在这个例子中,htmlspecialchars() 函数将 <script> 标签和其中的双引号转换为 HTML 实体,从而防止 XSS 攻击。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:如何结合其他PHP函数使用htmlspecialchars

0