在PHP中,filter_var()函数会使用指定的过滤器来过滤变量;它可以过滤用户传递来的数据。
PHP filter_var()函数
filter_var()函数使用指定的过滤器来过滤变量;它可用于验证和过滤数据。
基本语法
filter_var(var,filtername,options)
参数:filter_var()函数接受三个参数
var:表示要过滤的变量,不可省略(必填参数)。
filtername:用于指定要使用的过滤器的ID或名称。默认值为FILTER_DEFAULT,不会导致过滤;可省略。
options:用于指定要使用的一个或多个标志/选项。检查每个过滤器是否有可能的选项和标志;可省略。
返回值:过滤成功,则返回已过滤的数据;过滤失败,则返回FALSE。
PHP filter_var()函数的使用示例
示例1:过滤字符串
$str= "hello php er7y6t258u8@%^^%%$$#++!";$newstr=filter_var($str,FILTER_SANITIZE_NUMBER_INT);echo $newstr;
?>
输出:
762588++
说明:FILTER_SANITIZE_NUMBER_INT表示删除除了数字和 +-的所有其他字符。
示例2:验证IP地址
可以使用filter_var()函数来验证指定的ip地址是否有效。
header("content-type:text/html;charset=utf-8");$ip= "127.0.0.1";
if (!filter_var($ip,FILTER_VALIDATE_IP) === false) {echo("$ip 是有效的IP地址");
} else {echo("$ip 不是有效的IP地址");
}
?>
输出:
127.0.0.1 是有效的IP地址
示例3:过滤并验证电子邮件(email)地址
filter_var()函数首先会从包含email地址的变量中删除所有非法字符,然后检查它是否是有效的电子邮件地址:
header("content-type:text/html;charset=utf-8");$email= "xxx@west.cn";
// 从电子邮件中删除所有非法字符$email=filter_var($email,FILTER_SANITIZE_EMAIL);
// 判断是否为有效的电子邮件
if (!filter_var($email,FILTER_VALIDATE_EMAIL) === false) {echo("$email 是一个有效的电子邮件地址");
} else {echo("$email 不是一个有效的电子邮件地址");
}
?>
输出:
xxx@west.cn是一个有效的电子邮件地址
示例4:过滤并验证URL
filter_var()函数首先从URL中删除所有非法字符,然后检查是否为有效URL:
header("content-type:text/html;charset=utf-8");$url= "https://west.cn";
// 从URL中删除所有非法字符$url=filter_var($url,FILTER_SANITIZE_URL);
// 验证URl是否有效
if (!filter_var($url,FILTER_VALIDATE_URL) === false) {echo("$url 是一个有效的URL");
} else {echo("$url 不是一个有效的URL");
}
?>
输出:
https://west.cn 是一个有效的URL