php 字符过滤类,用于过滤各类用户输入的数据


Posted in PHP onMay 27, 2009

详细代码如下:

<?php 
abstract class Filter { //filter parent class 
private $blackstr = array(); 
private $whitestr = array(); 
function filtit($str) { 
//do something 
} 
} 
class LoginFilter extends Filter { //for user login filte username(过滤注册的用户名) 
function filtit($str) { 
$this -> blackstr = array( 
´/[\x7f-\xff]/´, //filter chinese include chinese symbol 
´/\W/´ //filter all english symbol 
); 
return preg_replace($this->blackstr, ´´, $str); 
} 
} 
class EditorFilter extends Filter { //for article editor filter(过滤在线编辑器内容) 
function filtit($str) { 
$this -> blackstr = array( 
´/\&/´, 
´/\´/´, 
´/\"/´, 
´/\</´, 
´/\>/´, 
´/\\\\/´, 
´/\//´, 
´/-/´, 
´/\*/´, 
´/ /´ 
); 
$this -> whitestr = array( 
´&´, 
´'´, 
´"´, 
´<´, 
´>´, 
´\´, 
´/´, 
´-´, 
´*´, 
´ ´ 
); 
return preg_replace($this->blackstr, $this -> whitestr, $str); 
} 
} 
class SQLFilter extends Filter { //for filte sql query string(过滤如查询或其它sql语句) 
function filtit($str) { 
$this -> blackstr = array( 
´/\´/´, 
´/-/´ 
); 
return preg_replace($this->blackstr, ´´, $str); 
} 
} 
class FileNameFilter extends Filter { //for filte a file name(过滤文件名如下载文件名) 
function filtit($str) { 
$this -> blackstr = array( 
´/[^A-za-z0-9_\.]|\\\\|\^|\[|\]/´ 
); 
return preg_replace($this->blackstr, ´´, $str); 
} 
} 
?>

使用方法如:
$filter = new FileNameFilter(); //定义实例 
$downFile = $filter->filtit($_GET[´fn´]); //调用过滤方法
PHP 相关文章推荐
php读取html并截取字符串的简单代码
Nov 30 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
Yii CGridView用法实例详解
Jul 12 PHP
微信自定义分享php代码分析
Nov 24 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
php反射学习之不用new方法实例化类操作示例
Jun 14 PHP
PHP判断函数是否被定义的方法
Jun 21 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 PHP
PHP的单引号和双引号 字符串效率
May 27 #PHP
php session 错误
May 21 #PHP
php print EOF实现方法
May 21 #PHP
php 方便水印和缩略图的图形类
May 21 #PHP
简单的php 验证图片生成函数
May 21 #PHP
PHP 数组入门教程小结
May 20 #PHP
php 无限级 SelectTree 类
May 19 #PHP
You might like
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
2016/11/05 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
layui导航栏实现代码
2017/05/19 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
十分钟利用Python制作属于你自己的个性logo
2018/05/07 Python
详解用python写一个抽奖程序
2019/05/10 Python
浅析Django中关于session的使用
2019/12/30 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
美国网上花店:JustFlowers
2017/02/12 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
商务助理求职信范文
2014/04/20 职场文书
学生会主席演讲稿
2014/04/25 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers