php数组里面处理特殊字符,PHP检测数组中的每个值是否含有特殊字符

该博客介绍了两个PHP函数,用于检测数组是一维还是二维,并进行XSS攻击防护。TestArray函数通过遍历数组判断其维度,remove_xss函数则使用正则表达式去除危险字符。这两个函数对于确保数据安全和处理用户输入非常有用。
摘要由CSDN通过智能技术生成

/**

* [TestArray 检测数组是一维还是二维]

* @E-mial wuliqiang_aa@163.com

* @TIME 2017-04-07

* @WEB http://blog.iinu.com.cn

* @param [type] $array [数组]

*/functionTestArray($array){if(is_array($array)){foreach($arrayas$v){if(is_array($v)){$Int_Array=array('Int'=>2,'Test'=>'检测为二维数组');}else{$Int_Array=array('Int'=>1,'Test'=>'检测为一维数组');}}}else{$Int_Array=array('Int'=>3,'Test'=>'检测为不是数组');}return$Int_Array;}/**

* [剔除掉危险字符]

* @E-mial wuliqiang_aa@163.com

* @TIME 2017-04-07

* @WEB http://blog.iinu.com.cn

* @param [数据] $val [要处理的数据]

* @return [type] [description]

*/functionremove_xss($val){$val=preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/','',$val);$search='abcdefghijklmnopqrstuvwxyz';$search.='ABCDEFGHIJKLMNOPQRSTUVWXYZ';$search.='1234567890!@#$%^&*()';$search.='~`";:?+/={}[]-_|\'\\';for($i=0;$i0){$pattern.='(';$pattern.='([xX]0{0,8}([9ab]);)';$pattern.='|';$pattern.='|(�{0,8}([9|10|13]);)';$pattern.=')*';}$pattern.=$ra[$i][$j];}$pattern.='/i';$replacement=substr($ra[$i],0,2).''.substr($ra[$i],2);$val=preg_replace($pattern,$replacement,$val);if($val_before==$val){$found=false;}}}return$val;}/**

* [getData 检测数组中的每个值是否含有特殊字符]

* @E-mial wuliqiang_aa@163.com

* @TIME 2017-05-03

* @WEB http://blog.iinu.com.cn

* @param [array] $data [要检测的数组-一维或者二维]

* @return [data] $res [返回剔除后的数组]

*/functiongetData($data){header('Content-type:text/html;charset=utf-8');//判断是否为空if(!empty($data)){//检测数组类型if(TestArray($data)['status']==1){$i=0;foreach($dataas$k=>$v){$data_mer[$i][$k]=remove_xss($v);$i++;}$res['code']=$data_mer;}else{foreach($dataas$k=>$v){$data_mer[$k]=remove_xss($v);}$res['code']=$data_mer;}}else{$res=array('status'=>2,'str'=>'数据不能为空');}return$res;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值