php 利用filter 扩展编写的参数处理类
copy to clipboard引用的内容:[www.bkjia.com] input_get,
'post' => input_post,
'cookie'=> input_cookie,
'server'=> input_server,
'env' => input_env
);
public static $filtertype = array(
'string' => filter_sanitize_string,
'int' => filter_validate_int,
'boolean' => filter_validate_boolean,
'float' => filter_validate_float,
'regexp' => filter_validate_regexp,
'url' => filter_validate_url,
'email' => filter_validate_email,
'ip' => filter_validate_ip,
);
/**
* 支持过滤列表
*/
private static function lists()
{
return filter_list();
}
/**
* 验证类型
* @param string $type
*/
public static function filtertype($type)
{
$filter_list = self::lists();
return array_search($type,$filter_list) !== false ? true : false;
}
/**
*
* @param $setvartype
*/
private static function getvartype($setvartype)
{
$setvartype = strtoupper($setvartype);
return isset(self::$vartype[$setvartype]) ? self::$vartype[$setvartype] : null;
}
/**
*
* @param string $setfiltertype
*/
private static function getfiltertype($setfiltertype)
{
$setfiltertype = strtoupper($setfiltertype);
return isset(self::$filtertype[$setfiltertype]) ? self::$filtertype[$setfiltertype] : null;
}
/**
* 检测参数是否存在
* @param string $setvartype
* @param string $varname
*/
public static function varexists($setvartype,$varname)
{
$filtervartype = self::getvartype($setvartype);
if (is_null($filtervartype))
return false;
return filter_has_var(self::$vartype[$filtervartype], $varname);
}
/**
*
* @param string $setvartype
* @param string $varname
* @param string $filtertype
*/
public static function filterinput($setvartype, $varname, $filtertype = 'int')
{
$filtervartype = self::getvartype($setvartype);
$filtertype = self::getfiltertype($filtertype);
if (is_null($filtervartype) || is_null($filtertype))
return false;
return filter_input($filtervartype, $varname, $filtertype);
}
/**
* 验证变量
* @param string $var
* @param string $filtertype
*/
public static function filtervar($var,$filtertype)
{
$filtertype = self::getfiltertype($filtertype);
return filter_var($var, $filtertype);
}
/**
* 字符串
* @param string $var
*/
public static function string($var)
{
return self::filtervar($var,'string');
}
public static function int($var)
{
return self::filtervar($var,'int');
}
public static function boolean($var)
{
return self::filtervar($var,'int');
}
public static function float($var)
{
return self::filtervar($var,'float');
}
/**
*
* @param string $var
* @param array $option array(options=>array(regexp=>/^m(.*)/))
*/
public static function regexp($var,$option)
{
$filtertype = self::getfiltertype($filtertype);
return filter_var($var, $filtertype, $option);
}
public static function url($var)
{
return self::filtervar($var,'url');
}
public static function email($var)
{
return self::filtervar($var,'email');
}
public static function ip($var)
{
return self::filtervar($var,'ip');
}
}
http://www.bkjia.com/phpjc/363945.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/363945.htmltecharticlephp 利用filter 扩展编写的参数处理类 copy to clipboard 引用的内容: [www.veryhuo.com] ?php /** * @参数验证函数 * @method: * @license http://www.blags.org/ *...