PHP的filter_var()函数可以用来过滤变量值,它可以用来检查变量的类型,格式,长度等,以确保变量的安全性。
使用方法
filter_var()函数的第一个参数是要过滤的变量值,第二个参数是过滤器,它可以是一个内置的过滤器,也可以是一个自定义的过滤器函数。
// 检查变量是否是一个整数 $int = 123; if(filter_var($int, FILTER_VALIDATE_INT)) { echo "变量是一个整数"; }
filter_var()函数还可以接受第三个参数,它是一个选项数组,可以用来定义过滤规则,以及一些其他参数。
// 检查变量是否是一个有效的邮箱地址 $email = "example@example.com"; $options = array( "options"=>array( "regexp"=>"/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/" ) ); if(filter_var($email, FILTER_VALIDATE_REGEXP, $options)) { echo "变量是一个有效的邮箱地址"; }
内置过滤器
PHP内置了一些常用的过滤器,可以用来过滤变量值,例如:
- FILTER_VALIDATE_INT:检查变量是否是一个整数
- FILTER_VALIDATE_FLOAT:检查变量是否是一个浮点数
- FILTER_VALIDATE_EMAIL:检查变量是否是一个有效的邮箱地址
- FILTER_VALIDATE_IP:检查变量是否是一个有效的IP地址
- FILTER_VALIDATE_URL:检查变量是否是一个有效的URL
- FILTER_VALIDATE_REGEXP:检查变量是否符合正则表达式
- FILTER_SANITIZE_STRING:过滤字符串,删除HTML标签
- FILTER_SANITIZE_NUMBER_INT:过滤数字,只保留整数
- FILTER_SANITIZE_NUMBER_FLOAT:过滤数字,只保留浮点数
- FILTER_SANITIZE_SPECIAL_CHARS:过滤字符串,转义特殊字符
- FILTER_SANITIZE_EMAIL:过滤邮箱地址,删除不安全的字符
- FILTER_SANITIZE_URL:过滤URL,删除不安全的字符
使用这些内置的过滤器,可以很方便的过滤变量值,保证变量的安全性。