下面我将逐行逐词解析这段 PHP 代码:
代码结构分析
function filterInput($input) {
return !empty($input) ? htmlspecialchars($input) : '';
}逐行解析
第1行:函数定义
function filterInput($input) {function- PHP 关键字,用于声明一个函数filterInput- 函数名称,采用驼峰命名法($input)- 函数参数列表,这里接收一个名为$input的参数
第2行:函数体
return !empty($input) ? htmlspecialchars($input) : '';
return- 关键字,表示函数将返回一个值!empty($input)- 条件判断部分:!- 逻辑非运算符empty($input)- 检查$input是否为空(包括未设置、null、空字符串、0、"0"、空数组等情况)?- 三元运算符的条件分隔符htmlspecialchars($input)- 条件为真时执行的表达式:htmlspecialchars()- PHP 内置函数,将特殊字符转换为 HTML 实体($input)- 传递给 htmlspecialchars() 的参数:- 三元运算符的真假值分隔符''- 条件为假时返回空字符串
第3行:函数结束
}
}- 表示函数定义结束
功能总结
这段代码定义了一个名为 filterInput 的函数,它:
检查输入值
$input是否为空如果不为空,则使用
htmlspecialchars()进行 HTML 转义(防止 XSS 攻击)如果为空,则返回空字符串
实际应用场景
这个函数常用于:
处理用户输入的表单数据
防止跨站脚本攻击(XSS)
确保输出到 HTML 页面的内容是安全的
例如:
$userInput = "<script>alert('xss')</script>";
echo filterInput($userInput);
// 输出:<script>alert('xss')</script>