(PHP 4, PHP 5, PHP 7, PHP 8)
strip_tags — 从字符串中去除 HTML 和 PHP 标签
该函数尝试返回给定的字符串 string
去除空字符、HTML 和 PHP
标签后的结果。它使用与函数 fgetss() 一样的机制去除标签。
返回处理后的字符串。
示例 #1 strip_tags() 示例
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// 允许 <p> 和 <a>
echo strip_tags($text, '<p><a>');
// 自 PHP 7.4.0 起,上面的行可以写成:
// echo strip_tags($text, ['p', 'a']);
?>
以上示例会输出:
Test paragraph. Other text <p>Test paragraph.</p> <a href="#fragment">Other text</a>
此函数不能用于尝试阻拦 XSS 攻击。根据输出的上下文选择更合适的函数(像 htmlspecialchars())或者其它方式。
由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。
该函数不会修改 allowed_tags
参数中指定的允许标记的任何属性,包括 style
和 onmouseover
属性,用户可能会在提交的内容中恶意滥用这些属性,从而展示给其他用户。
注意:
输入 HTML 标签名字如果大于 1023 字节(bytes)将会被认为是无效的,无论
allowed_tags
参数是怎样的。