灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2357回复:0

php字符过滤方法

楼主#
更多 发布于:2012-09-12 06:48

/**
  * 字符过滤
  * $santype 1 : 剥去 HTML、XML 以及 php 的标签,
  *    2 : 剥去 HTML、XML 以及 php 的标签,字符转换为 HTML 实体 , 编码双引号和单引号
  *    3 : 剥去 HTML、XML 以及 php 的标签,在指定的预定义字符前添加反斜杠    单引号 (') 双引号 (") 反斜杠 (\) NULL
  *    4 : 用于清理从数据库或 HTML 表单中取回的数据 (剥去 HTML、XML 以及 php 的标签)
  *    6 : 在指定的预定义字符前添加反斜杠    单引号 (') 双引号 (") 反斜杠 (\) NULL
  *
  * */
  
function sanitize($var, $santype = 1, $allowable_tags = ''){
  if ($santype == 1) {return strip_tags($var, $allowable_tags = '');}
  elseif ($santype == 2) {return htmlentities(strip_tags($var, $allowable_tags),ENT_QUOTES,'UTF-8');}
  elseif ($santype == 3) {
     return addslashes(strip_tags($var, $allowable_tags));
  }
  elseif ($santype == 4) {
     return stripslashes(preg_replace('/<([^>]+)>/es', "'<'.sanitize('\\1',5).'>'",strip_tags($var, $allowable_tags)));
  }
  elseif ($santype == 5) {
   return preg_replace('/\son\w+\s*=/is','',$var);
  }
  elseif ($santype == 6 ){
   return addslashes($var);
  }
}


喜欢0 评分0
游客

返回顶部