轻松上手,快乐学习!

PHP 教程

PHP 教程PHP 简介PHP 下载安装PHP 语法PHP 注释PHP 变量PHP Echo / PrintPHP 数据类型PHP 字符串PHP 数值PHP MathPHP 常量PHP 运算符PHP If...ElsePHP SwitchPHP 循环While 循环Do While 循环For 循环Foreach 循环Break/ContinuePHP 函数PHP 数组索引数组关联数组多维数组数组排序PHP 全局变量$GLOBALS$_SERVER$_REQUEST$_POST$_GETPHP 正则表达式PHP 表单处理PHP 表单验证PHP 表单验证必填字段PHP 表单验证URL/E-mailPHP 表单验证实例PHP 日期和时间PHP IncludePHP 文件处理PHP 文件打开/读取PHP 文件创建/写入PHP 文件上传PHP CookiesPHP SessionsPHP FiltersPHP Filters AdvancedPHP 回调函数PHP JSONPHP 异常处理PHP 什么是 OOPPHP 类和对象PHP 构造函数PHP 析构函数PHP 访问修饰符PHP 继承PHP 类常量PHP 抽象类PHP 接口PHP 特征PHP 静态方法PHP 静态属性PHP 命名空间PHP 可迭代对象MySQL DatabaseMySQL ConnectMySQL Create DBMySQL Create TableMySQL Insert DataMySQL Get Last IDMySQL Insert MultipleMySQL PreparedMySQL Select DataMySQL WhereMySQL Order ByMySQL Delete DataMySQL Update DataMySQL Limit DataPHP XML ParsersPHP SimpleXML ParserPHP SimpleXML - GetPHP XML ExpatPHP XML DOMAJAX IntroAJAX PHPAJAX DatabaseAJAX XMLAJAX Live SearchAJAX PollPHP 实例PHP 编译器PHP 测验PHP 练习

PHP 参考手册

PHP 概述PHP ArrayPHP CalendarPHP DatePHP DirectoryPHP ErrorPHP ExceptionPHP FilesystemPHP FilterPHP FTPPHP JSONPHP KeywordsPHP LibxmlPHP MailPHP MathPHP MiscPHP MySQLiPHP NetworkPHP Output ControlPHP RegExPHP SimpleXMLPHP StreamPHP StringPHP Variable HandlingPHP XML ParserPHP ZipPHP Timezones


PHP 过滤 函数


PHP 过滤器简介

PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。


安装

自 PHP 5.2.0, filter 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。


运行时配置

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

名称 描述 默认值 Changeable
filter.default 通过此过滤器过滤所有 $_GET、$_POST、$_COOKIE、$_REQUEST 和 $_SERVER 数据。 默认情况下接受您喜欢使用的过滤器的名称。 过滤器名称列表见过滤器列表 "unsafe_raw" PHP_INI_PERDIR
filter.default_flags 设置默认过滤器时应用的默认标志。 出于向后兼容性的原因,默认设置为 FILTER_FLAG_NO_ENCODE_QUOTES PHP_INI_PERDIR

PHP Filter 函数

函数 描述
filter_has_var() 检查是否存在指定输入类型的变量。
filter_id() 返回指定过滤器的 ID 号。
filter_input() 从脚本外部获取输入,并进行过滤。
filter_input_array() 从脚本外部获取多项输入,并进行过滤。
filter_list() 返回包含所有得到支持的过滤器的一个数组。
filter_var() 获取一个变量,并进行过滤。
filter_var_array() 获取多项变量,并进行过滤。

PHP 预定义过滤器常量

常量 描述
INPUT_POST POST 变量
INPUT_GET 获取变量
INPUT_COOKIE COOKIE 变量
INPUT_ENV 环境变量
输入服务器 服务器变量
FILTER_DEFAULT 什么都不做,可以选择剥离/编码特殊字符。相当于 FILTER_UNSAFE_RAW
FILTER_FLAG_NONE 不允许标记
FILTER_FLAG_ALLOW_OCTAL 仅适用于以零 (0) 作为八进制数开头的输入。这只 允许后面的数字为 0-7
FILTER_FLAG_ALLOW_HEX 仅适用于以 0x/0X 作为十六进制数字开头的输入。这只 允许后续字符为 a-fA-F0-9
FILTER_FLAG_STRIP_LOW 剥离 ASCII 值小于 32 的字符
FILTER_FLAG_STRIP_HIGH 剥离 ASCII 值大于 127 的字符
FILTER_FLAG_ENCODE_LOW 对 ASCII 值小于 32 的字符进行编码
FILTER_FLAG_ENCODE_HIGH 对 ASCII 值大于 127 的字符进行编码
FILTER_FLAG_ENCODE_AMP 编码和
FILTER_FLAG_NO_ENCODE_QUOTES 不要编码 ' 和 "
FILTER_FLAG_EMPTY_STRING_NULL 未使用
FILTER_FLAG_ALLOW_FRACTION 允许将句点 (.) 作为数字中的小数分隔符
FILTER_FLAG_ALLOW_THOUSAND 允许逗号 (,) 作为数字中的千位分隔符
FILTER_FLAG_ALLOW_SCIENTIFIC 允许在数字中使用 e 或 E 表示科学记数法
FILTER_FLAG_PATH_REQUIRED URL 必须包含路径部分
FILTER_FLAG_QUERY_REQUIRED URL 必须包含查询字符串
FILTER_FLAG_IPV4 允许 IP 地址为 IPv4 格式
FILTER_FLAG_IPV6 允许 IP 地址采用 IPv6 格式
FILTER_FLAG_NO_RES_RANGE 对保留的 IPv4 范围的验证失败:0.0.0.0/8、169.254.0.0/16、 127.0.0.0/8 和 240.0.0.0/4,对于保留的 IPv6 范围:::1/128, ::/128, ::ffff:0:0/96 和 fe80::/10
FILTER_FLAG_NO_PRIV_RANGE 私有 IPv4 范围验证失败:10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16,以及以 FD 或 FC 开头的 IPv6 地址
FILTER_FLAG_EMAIL_UNICODE 允许电子邮件地址的本地部分包含 Unicode 字符
FILTER_REQUIRE_SCALAR 值必须是标量
FILTER_REQUIRE_ARRAY 值必须是数组
FILTER_FORCE_ARRAY 将标量值视为数组,标量值作为唯一元素
FILTER_NULL_ON_FAILURE 在无法识别的布尔值失败时返回 NULL
FILTER_VALIDATE_BOOLEAN 验证一个布尔值
FILTER_VALIDATE_EMAIL Validates value as a valid e-mail address
FILTER_VALIDATE_FLOAT 以浮点数验证值。
FILTER_VALIDATE_INT 在指定的范围以整数验证值。
FILTER_VALIDATE_IP 把值作为 IP 地址来验证。
FILTER_VALIDATE_MAC 将值验证为 MAC 地址
FILTER_VALIDATE_REGEXP 根据 regexp,兼容 Perl 的正则表达式来验证值。
FILTER_VALIDATE_URL 把值作为 URL 来验证。
FILTER_SANITIZE_EMAIL 把值作为 e-mail 来验证。
FILTER_SANITIZE_ENCODED 去除或编码特殊字符。
FILTER_SANITIZE_MAGIC_QUOTES 应用 addslashes()
FILTER_SANITIZE_NUMBER_FLOAT 删除所有字符,除了数字、+- 以及 .,eE。
FILTER_SANITIZE_NUMBER_INT 删除所有字符,除了数字和 +-
FILTER_SANITIZE_SPECIAL_CHARS 删除特殊字符
FILTER_SANITIZE_STRING 去除标签,去除或编码特殊字符。
FILTER_SANITIZE_STRIPPED FILTER_SANITIZE_STRING 过滤器的别名。
FILTER_SANITIZE_URL 从 URL 中删除所有非法字符
FILTER_UNSAFE_RAW 不进行任何过滤,去除或编码特殊字符。
FILTER_CALLBACK 调用用户自定义函数来过滤数据。