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 相关文章推荐
如何过滤高亮显示非法字符
Oct 09 PHP
MySQL中create table语句的基本语法是
Jan 15 PHP
PHP实现的多彩标签效果代码分享
Aug 21 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
php实现的简单日志写入函数
Mar 31 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
php-msf源码详解
Dec 25 PHP
浅析PHP数据导出知识点
Feb 17 PHP
php闭包中使用use声明变量的作用域实例分析
Aug 09 PHP
Laravel5.1 框架路由基础详解
Jan 04 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
php5.2时间相差8小时
2007/01/15 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
Symfony生成二维码的方法
2016/02/04 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
python中Genarator函数用法分析
2015/04/08 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
Python调用服务接口的实例
2019/01/03 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
python 弧度与角度互转实例
2020/04/15 Python
Python 字典中的所有方法及用法
2020/06/10 Python
html5图片上传预览示例分享
2014/04/14 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
公司周年庆典邀请函
2014/01/12 职场文书
会计岗位职责模板
2014/03/12 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
美术教师个人工作总结
2015/02/06 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书
bat批处理之字符串操作的实现
2022/03/16 Python