PHP用正则匹配字符串中的特殊字符防SQL注入
本文出至:学新通
/**
* [用正则匹配字符串中的特殊字符]
* @E-mial wuliqiang_aa@163.com
* @TIME   2017-04-07
* @WEB    http://blog.iinu.com.cn
* @param  [data] $str [要匹配的任何数据]
* @return [type]      [description]
*/
function is_string_regular($str) {
	$pregs = '/select|insert|update|CR|document|LF|eval|delete|script|alert|\'|\/\*|\#|\--|\ --|\/|\*|\-|\+|\=|\~|\*@|\*!|\$|\%|\^|\&|\(|\)|\/|\/\/|\.\.\/|\.\/|union|into|load_file|outfile/';
    if(is_array($str)){
        if(TestArray($str) == 1){
            //一维数组
            foreach($str as $k=>$v){
                //遍历
                $check= preg_match($pregs,$v);
                if($check == 1){
                    $int_arr = array('status'=>1,'result'=>$str,'message'=>'检测含有特殊字符');
                }else{
                    $int_arr = array('status'=>0,'result'=>$str,'message'=>'检测没有特殊字符');
                }
            }
        }else if(TestArray($str) == 2){
            //二维数组
            foreach($str as $k=>$v){
                foreach($v as $ks=>$vs){
                    //遍历
                    $check= preg_match($pregs,$v);
                	if($check == 1){
                        $int_arr = array('status'=>1,'result'=>$str,'message'=>'检测含有特殊字符');
                    }else{
                        $int_arr = array('status'=>0,'result'=>$str,'message'=>'检测没有特殊字符');
                    }
                }
            }
        }
    }else if(is_string($str)){
        //字符串
        $check= preg_match($pregs,$str);
        if($check == 1){
            $int_arr = array('status'=>1,'result'=>$str,'message'=>'检测含有特殊字符');
        }
                    
                