过滤用户输入的HTML标签的PHP函数
发布时间:2023-08-12 01:03:55
在PHP中,可以使用strip_tags()函数来过滤用户输入的HTML标签。strip_tags()函数的语法如下:
strip_tags(string $string, string $allowable_tags = null): string
该函数会将指定字符串中的HTML标签和PHP标签去除,并返回过滤后的字符串。
其中, 个参数为要过滤的字符串,第二个参数为允许保留的标签。如果不设置第二个参数,默认会移除所有HTML和PHP标签。
下面是一个使用strip_tags()函数过滤用户输入的HTML标签的示例代码:
<?php
function filter_html_tags($input) {
// 允许保留的标签:p、a、img
$allowed_tags = '<p><a><img>';
// 过滤HTML标签
$filtered_input = strip_tags($input, $allowed_tags);
return $filtered_input;
}
// 用户输入的HTML代码
$user_input = '<p>This is a <strong>test</strong></p><script>alert("Hello!");</script>';
// 过滤HTML标签
$filtered_input = filter_html_tags($user_input);
echo $filtered_input;
?>
运行该代码,输出为:
<p>This is a test</p>
可以看到,经过strip_tags()函数过滤后,用户输入的HTML标签被成功去除了。
需要注意的是,strip_tags()函数只能过滤HTML标签,不能防止其他形式的代码注入和攻击。因此,为了确保系统的安全性,仍需采取其他更全面的安全防护措施,如使用合适的输入验证和过滤、使用防跨站脚本攻击(XSS)的技术等。
