PHP filter_var()函数
filter_var()函数使用指定的过滤器来过滤变量;它可用于验证和过滤数据。
基本语法
filter_var(var, filtername, options)
参数:filter_var()函数接受三个参数
- var:表示要过滤的变量,不可省略(必填参数)。
- filtername:用于指定要使用的过滤器的ID或名称。默认值为FILTER_DEFAULT,不会导致过滤;可省略。
- options:用于指定要使用的一个或多个标志/选项。检查每个过滤器是否有可能的选项和标志;可省略。
返回值:过滤成功,则返回已过滤的数据;过滤失败,则返回FALSE。
PHP filter_var()函数的使用示例
示例1:过滤字符串
<?php $str = "hello php er7y6t258u8@%^^%%$$#++!"; $newstr = filter_var($str, FILTER_SANITIZE_NUMBER_INT); echo $newstr; ?>
输出:
762588++
说明:FILTER_SANITIZE_NUMBER_INT
表示删除除了数字和 +-的所有其他字符。
示例2:验证IP地址
可以使用filter_var()函数来验证指定的ip地址是否有效。
<?php 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地址的变量中删除所有非法字符,然后检查它是否是有效的电子邮件地址:
<?php 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:
<?php 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