最新的Web开发教程
 

PHP 5个过滤功能


PHP过滤器介绍

这个PHP过滤器是用来验证和过滤数据从非安全来源的,如用户输入。


安装

由于PHP 5.2.0中,过滤功能默认情况下启用。 有没有使用这些功能需要安装。


运行时配置

这些函数的行为受php.ini的设置:

名称 描述 默认 多变
filter.default 过滤所有的$ _GET,$ _ POST,$ _ COOKIE,$ _REQUEST和$ _ SERVER数据通过这个过滤器。 接受你喜欢默认使用过滤器的名称。 见过滤器列表过滤器名称列表 “unsafe_raw” PHP_INI_PERDIR
filter.default_flags 当过滤器的默认设置默认标志申请。 这是为了向后兼容的原因设置为FILTER_FLAG_NO_ENCODE_QUOTES默认 空值 PHP_INI_PERDIR

PHP 5过滤功能

功能 描述
filter_has_var() 检查是否存在指定的输入类型的变量
filter_id() 返回指定过滤器名称的过滤器ID
filter_input() 获取外部变量(eg from form input)以及任选的过滤器它
filter_input_array() 获取外部变量(eg from form input)以及任选的过滤他们
filter_list() 返回所有支持的过滤器的列表
filter_var_array() 获取多个变量,并将其筛选
filter_var() 过滤出该变量与指定的过滤器

PHP 5个预定义过滤器常量

不变 ID 描述
FILTER_VALIDATE_BOOLEAN 258 验证一个布尔
FILTER_VALIDATE_EMAIL 274 验证电子邮件地址
FILTER_VALIDATE_FLOAT 259 验证一个浮动
FILTER_VALIDATE_INT 257 验证一个整数
FILTER_VALIDATE_IP 275 验证IP地址
FILTER_VALIDATE_REGEXP 272 验证正则表达式
FILTER_VALIDATE_URL 273 验证网址
FILTER_SANITIZE_EMAIL 517 删除所有非法字符从E-mail地址
FILTER_SANITIZE_ENCODED 514 删除/特殊字符进行编码
FILTER_SANITIZE_MAGIC_QUOTES 521 应用addslashes()
FILTER_SANITIZE_NUMBER_FLOAT 520 删除所有字符,除了数字,+ - 和可选,EE
FILTER_SANITIZE_NUMBER_INT 519 除了删除数字和+所有字符 -
FILTER_SANITIZE_SPECIAL_CHARS 515 删除特殊字符
FILTER_SANITIZE_FULL_SPECIAL_CHARS
FILTER_SANITIZE_STRING 513 删除标签/特殊字符从字符串
FILTER_SANITIZE_STRIPPED 513 FILTER_SANITIZE_STRING的别名
FILTER_SANITIZE_URL 518 去除的URL的所有非法字符
FILTER_UNSAFE_RAW 516 什么都不做,可选带/编码的特殊字符
FILTER_CALLBACK 1024 调用用户定义的函数来过滤数据