htmlspecialchars
将特殊字符转换为HTML实体
htmlspecialchars
自 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 ]]] )
返回转换后的字符串,其中的特殊字符已被转为 HTML 实体。
<?php $str = "<a href='test'>Test</a>"; echo htmlspecialchars($str, ENT_QUOTES); ?>
上述代码中,原始字符串包含 HTML 标签和单引号。使用 htmlspecialchars 并设置 ENT_QUOTES 标志后,双引号和单引号都会被转换为 HTML 实体。输出结果为:
这有助于防止用户提交的内容在页面上被直接解释为 HTML,有效防止 XSS 攻击。