加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

一文说明关于php数据过滤

发布时间:2022-08-03 15:59:38 所属栏目:PHP教程 来源:互联网
导读:php 数据过滤 在对用户输入数据进行过滤时通常都是自己写方法进行判断 比如验证邮箱的时候使用正则表达式 if (!preg_match($pattern, $email)) { throw new Exception(self::ERROR_PARAMETER_EMPTY . _邮件格式有误: . $email); } 如果不用正则还有其它跟简
  php 数据过滤
  在对用户输入数据进行过滤时通常都是自己写方法进行判断
  比如验证邮箱的时候使用正则表达式
 
 
  if (!preg_match($pattern, $email)) {
 
          throw new Exception(self::ERROR_PARAMETER_EMPTY . '_邮件格式有误:' . $email);
 
  }
 
  如果不用正则还有其它跟简单的方法吗?
 
  使用filter相关函数
  filter_has_var(type, variable) 是否存在指定类型的变量。
  filter_input 从脚本外部获取输入,并进行过滤。
 
 
  if(!filter_has_var(INPUT_GET, "name"))
 
  {
 
      echo("name 不存在");
 
  }
 
  else
 
  {
 
      echo("name 存在");
 
 
  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源进行过滤
 
 
      "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");
 
   }
 
  input源的范围
 
 
  验证
 
 
  其它过滤方法
  strip_tags 删除html标签
  htmlentities 把字符转换为 HTML 实体,(还会把货币表示符号欧元英镑等、版权符号等转义)
  htmlspecialchars 函数把预定义的字符转换为 HTML 实体。
  预定义的字符是:
  & (和号)成为 &
  " (双引号)成为 "
  ' (单引号)成为 '
  < (小于)成为 <
  (大于)成为 >
  *提示:如需把特殊的 HTML 实体转换回字符,请使用 htmlspecialcharsdecode() 函数。
 
 
  $input = "<span>我是标题</span>";
 
  echo htmlspecialchars($input) . "n";
 
  echo htmlentities($input) . "n";
 
  echo strip_tags($input) . "n";
 
   
 
  $input = "-- 'select * from ";
 
  echo addslashes($input) . "n";

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读