设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 公司 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP实现数据过滤不用正则还有什么方法

发布时间:2023-01-09 08:42 所属栏目:121 来源:互联网
导读:这篇给大家分享的知识是PHP实现数据过滤不用正则还有哪些方法,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇PHP实现数据过滤不用正则还有哪些方法文章能帮助大家解决问题。 php 数据过滤 在对用户输入数据进行过滤
  这篇给大家分享的知识是“PHP实现数据过滤不用正则还有哪些方法”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“PHP实现数据过滤不用正则还有哪些方法”文章能帮助大家解决问题。

  php 数据过滤

  在对用户输入数据进行过滤时通常都是自己写方法进行判断

  比如验证邮箱的时候使用正则表达式

  $pattern = "/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/";

  if (!preg_match($pattern, $email)) {

          throw new \Exception(self::ERROR_PARAMETER_EMPTY . '_邮件格式有误:' . $email);
  }
 
     如果不用正则还有其它跟简单的方法吗?
 
  使用filter相关函数

  filter_has_var(type, variable) 是否存在指定类型的变量。

  filter_input 从脚本外部获取输入,并进行过滤。

  filter_input_array 从脚本外部获取多项输入,并进行过滤。

  filter_var 获取一个变量,并进行过滤。

  filter_var_array 获取多项变量,并进行过滤。

  filter_has_var

  判断$_GET 的结果是否包含name
 
  if(!filter_has_var(INPUT_GET, "name"))
  {
      echo("name 不存在");
  }
  else
  {
      echo("name 存在");
  }
  filter_input
  看一个验证邮箱的例子
 
  if (!filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL))
  {
      echo "E-Mail is not valid";
  }
  else
  {
      echo "E-Mail is valid";
  }
  filter_input_array
  对整个input源进行过滤
 
  $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));

  filter_var,filter_var_array

  不需要input源,直接对值进行过滤
 
  if(!filter_var("someone@example....com", FILTER_VALIDATE_EMAIL))
   {
   echo("E-mail is not valid");
   }
  else
   {
   echo("E-mail is valid");
   }

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读