php filter_input_array 过滤不合法信息

 更新时间:2016年11月25日 16:52  点击:1737

定义和用法
该filter_input_array ( )函数得到多重过滤器从外部输入的脚本和过滤它们。

这一功能是有益的过滤大量输入变量没有要求filter_input ( ) ,多。

这项功能可以输入几个来源:

INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_ENV
INPUT_SERVER
INPUT_SESSION (尚未实施)
INPUT_REQUEST (尚未实施)
返回一个数组的过滤数据成功的,虚假的失败。

语法

filter_input(input_type, args)

input_type:要求。指定输入类型。见可能类型上述清单
args:可选。指定了一系列的过滤器的论点。

一系列有效的关键是一个变量名和一个有效的值是一个过滤器ID或一个数组指定过滤器,旗帜和选择。
这个参数也可以是一个单一的过滤器编号,如果是这样,所有的价值观在输入数组过滤指定的过滤器

过滤器编号可以是一个编号名称(如FILTER_VALIDATE_EMAIL )或身份证号码(如274 )

 

提示和说明
提示:请检查PHP的过滤器完全可能的参考过滤器来使用此功能。

 



例如
在这个例子中我们使用filter_input_array ( )函数过滤后三个变数。

 

收到后的变量是一个名字,年龄和e - mail地址:

 

<?php
$filters = array
 (
 "name" => array
  (
  "filter"=>FILTER_CALLBACK,
  "flags"=>FILTER_FORCE_ARRAY,
  "options"=>"ucwords"
  ),
 "age" => array
  (
  "filter"=>FILTER_VALIDATE_INT,
  "options"=>array
   (
   "min_range"=>1,
   "max_range"=>120
   )
  ),
 "email"=> FILTER_VALIDATE_EMAIL,
 );
print_r(filter_input_array(INPUT_POST, $filters));
?>
 
返回值勤.
 
Array
 (
 [name] => Peter
 [age] => 41
 [email] => peter@example.com
 )

定义和用法
该filter_input ( )函数的输入滤波器得到来自外部的脚本和过滤器它。

此功能是用来验证变量形式不安全的来源,如用户输入。

这项功能可以输入几个来源:

INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_ENV
INPUT_SERVER
INPUT_SESSION (尚未实施)
INPUT_REQUEST (尚未实施)
返回过滤数据的成功,假故障或NULL如果“变”参数没有设置。

语法

filter_input(input_type, variable, filter, options)
ParameterDescription
input_type
必需的。指定输入类型。见可能类型上述清单
variable
必需的。指定变量过滤
filter
任择。指定编号的过滤器来使用。默认是FILTER_SANITIZE_STRING 。检查PHP的过滤器完全可能的参考过滤器过滤器编号可以是一个编号名称(如FILTER_VALIDATE_EMAIL )或身份证号码(如274 )
options
任择。指定一个关联数组的旗帜/选项或一个单一的旗帜/选项。检查每个过滤器的各种可能的选择和旗帜
看看实例.

例如
在这个例子中我们使用filter_input ( )函数过滤后变数。收到后的变量是一个有效的e - mail地址:

<?php
if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL))
 {
 echo "E-Mail is not valid";
 }
else
 {
 echo "E-Mail is valid";
 }
?>
 
输出为.
 
E-Mail is valid

定义和用法
该filter_list ( )函数返回一个数组的所有受支持的过滤器。

语法

filter_list()

提示和说明
注:此结果并不功能的过滤器编号,但过滤器的名称。使用filter_id ( )函数来得到过滤器编号

 

 

 




例如

 

<?php
print_r(filter_list());
?>
 
输出结果.
 
Array
 (
 [0] => int
 [1] => boolean
 [2] => float
 [3] => validate_regexp
 [4] => validate_url
 [5] => validate_email
 [6] => validate_ip
 [7] => string
 [8] => stripped
 [9] => encoded
 [10] => special_chars
 [11] => unsafe_raw
 [12] => email
 [13] => url
 [14] => number_int
 [15] => number_float
 [16] => magic_quotes
 [17] => callback
 )

定义和用法
该filter_var_array ( )函数获得多个变量和它们选择的过滤器

这一功能是有益的过滤许多价值不要求filter_var ( ) ,多。

返回一个数组的价值观所要求的变量成功或FALSE的失败。

语法

filter_var_array(array, args)
<?php
$arr = array
 (
 "name" => "peter griffin",
 "age" => "41",
 "email" => "peter@example.com",
 );
$filters = array
 (
 "name" => array
  (
  "filter"=>FILTER_CALLBACK,
  "flags"=>FILTER_FORCE_ARRAY,
  "options"=>"ucwords"
  ),
 "age" => array
  (
  "filter"=>FILTER_VALIDATE_INT,
  "options"=>array
   (
   "min_range"=>1,
   "max_range"=>120
   )
  ),
 "email"=> FILTER_VALIDATE_EMAIL,
 );
print_r(filter_var_array($arr, $filters));
?>
 
输出结果.
 
Array
 (
 [name] => Peter Griffin
 [age] => 41
 [email] => peter@example.com
 )

定义和用法
该filter_var ( )函数的过滤器与一个变量指定的过滤器。

返回过滤数据的成功或FALSE的失败。

语法

filter_var(variable, filter, options)

variable:必需。指定变量过滤
filter:可选。指定编号的过滤器来使用。默认是FILTER_SANITIZE_STRING 。

检查PHP的过滤器完全可能的参考过滤器
过滤器编号可以是一个编号名称(如FILTER_VALIDATE_EMAIL )或身份证号码(如274 )
 
options:可选。指定一个关联数组的旗帜/选项或一个单一的旗帜/选项。检查每个过滤器的各种可能的选择和旗帜

 

来看看filter_var实例教程

 

 <?php
if(!filter_var("someone@example....com", FILTER_VALIDATE_EMAIL))
 {
 echo("E-mail is not valid");
 }
else
 {
 echo("E-mail is valid");
 }
?>

 

输出结果.

E-mail is not valid
[!--infotagslink--]

相关文章