函数名:filter_var()
适用版本:PHP 5 >= 5.2.0, PHP 7
用法:filter_var() 函数用于过滤一个变量,使用指定的过滤器。
语法:filter_var(variable, filter, options)
参数:
- variable:需要过滤的变量。
- filter:指定的过滤器类型。可以是以下之一:
- FILTER_VALIDATE_BOOLEAN:验证布尔值。
- FILTER_VALIDATE_EMAIL:验证电子邮件地址。
- FILTER_VALIDATE_FLOAT:验证浮点数。
- FILTER_VALIDATE_INT:验证整数。
- FILTER_VALIDATE_IP:验证IP地址。
- FILTER_VALIDATE_REGEXP:根据正则表达式验证值。
- FILTER_VALIDATE_URL:验证URL。
- FILTER_SANITIZE_EMAIL:删除所有非法字符,验证电子邮件地址。
- FILTER_SANITIZE_ENCODED:URL-encode字符串,删除所有非法字符。
- FILTER_SANITIZE_NUMBER_FLOAT:删除除数字、加号和减号之外的所有字符。
- FILTER_SANITIZE_NUMBER_INT:删除除数字和加号之外的所有字符。
- FILTER_SANITIZE_SPECIAL_CHARS:HTML特殊字符转换为HTML实体。
- FILTER_SANITIZE_STRING:删除标签,HTML特殊字符转换为HTML实体。
- FILTER_SANITIZE_URL:删除所有非法字符,验证URL。
- options:可选参数,可以是一个数组或一个掩码。对于某些过滤器,可以使用额外的选项。
返回值:如果过滤成功,则返回过滤后的值;如果过滤失败,则返回 false。
示例:
$email = "john.doe@example.com";
// 验证电子邮件地址
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "有效的电子邮件地址";
} else {
echo "无效的电子邮件地址";
}
$url = "http://www.example.com";
// 验证URL
if (filter_var($url, FILTER_VALIDATE_URL)) {
echo "有效的URL";
} else {
echo "无效的URL";
}
$dirtyString = "<p>Hello, World!</p>";
// 删除标签,HTML特殊字符转换为HTML实体
$cleanString = filter_var($dirtyString, FILTER_SANITIZE_STRING);
echo $cleanString;
以上示例中,filter_var() 函数分别用于验证电子邮件地址和URL,以及删除HTML标签和转换HTML特殊字符。根据传入的参数和过滤器类型,函数会返回相应的结果。