详细代码如下:

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 字符过滤类,用于过滤各类用户输入的数据相关推荐

  1. mysql 查询 系统字段 自然日_吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB...

    本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...

  2. android sqlite查询某个字段,Android的sqlite:如何检索特定列的特定数据?

    我正在开发餐厅菜单应用程序.我的应用程序有一个包含以下列的sqlite表:Android的sqlite:如何检索特定列的特定数据? "id", "category&quo ...

  3. java输入字符数组_JAVA中怎样把用户输入的字符串存入数组中?

    展开全部 import java.util.Scanner; import java.util.InputMismatchException; public class saveInputToArr ...

  4. php 过滤入库不可见字符,php如何过滤不可见字符

    php过滤不可见字符的方法:首先创建一个PHP代码示例文件:然后定义一个"filterNonPrintableChar"方法:接着通过isset.ord等函数实现过滤逻辑:最后通过 ...

  5. 知识图谱入门2-2:用户输入->知识库的查询语句

    注:欢迎关注datawhale:https://datawhale.club/ 系列: 知识图谱入门一:知识图谱介绍 知识图谱入门2-1:实践--基于医疗知识图谱的问答系统 知识图谱入门2-2:用户输 ...

  6. 用java怎么输入字符数组_Java程序填充用户输入的字符数组

    对于用户输入,将Scanner类与System.in一起使用.获取输入后,将其转换为字符数组-char[] a = s.next().toCharArray(); 现在,显示它直到字符数组的长度,即用 ...

  7. 查询出的数据记录字段要与实体类中的属性名一致

    查询出的数据记录字段要与实体类中的属性名一致 转载于:https://www.cnblogs.com/1020182600HENG/p/6183031.html

  8. 使用dao时,如何同时使用动态表名和过滤字段?

    使用dao时,如何同时使用动态表名和过滤字段? 发布于 630天前  作者 wukonggg  316 次浏览  复制  上一个帖子  下一个帖子  标签: 无 如题.求样例代码 1 回复 wenda ...

  9. html提交提示非法字符串,教你如何过滤高亮显示非法字符

    本篇教你如何过滤高亮显示非法字符: //我只是做一个测试,如果再用类似tmd的字符串,一定要注意,如果字符串中的字符出现在$StartReplaceHtml或者$EndReplaceHtml中,你需要 ...

  10. 用于过滤aar中冲突类(class)和so库的脚本,也可以用来过滤jar中冲突class

    需求产生的原因,有时候我们接入三方包的时候,会出现类冲突,这个时候我们就想能不能把三方包中的冲突类过滤掉,不参与编译.网上百度,google都没有找到一个好的解决方案,然后自己动手丰衣足食. 灵感来源 ...

最新文章

  1. 2011年的32有用的jQuery插件
  2. mysql主从复制replication的一些相关命令
  3. oracle 安装程序异常终止,Oracle安装错误“程序异常终止
  4. python内置函数源码_python如何查看内置函数源码
  5. NFS问题:clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
  6. mybaties xml 的头部
  7. 15_多子图-Subplot、Subplot: 使用多个figures和 axes、替代解决方案:
  8. php基础面试选择题,php面试之javascript经典面试题
  9. IPM analysis request DB table
  10. Java EE陷阱#1:忽略@Singleton的默认锁定
  11. 数据库杂谈(二)——数据模型
  12. 计算机网络之数据链路层:5、停止等待协议
  13. 一文带你了解两种Transformer文字识别方法
  14. 应用keyup监测输入框兼容IE处理
  15. php7 opcode,php7最小化安装 vld扩展安装并查看php代码的opcode ast测试
  16. 建造者模式 生成器模式 创建型 设计模式(五)
  17. Git下修改提交的author和email信息
  18. sql server 本地复制订阅 实现数据库服务器 读写分离
  19. linux怎么安装Nginx
  20. JavaEE Tutorials (9) - 运行持久化示例

热门文章

  1. 每个初学者都应该搞懂的问题
  2. 黑马程序员 Python学习笔记之变量
  3. opencv 光流法
  4. unity3 学习localPosition, Position区别,itween插件,计算距离
  5. Atitit 知识图谱管理 谱存储选型 与查询 目录 1. 知识图谱存储系统的选型。 1 1.1. 图数据库 neo4j 适合大规模数据 1 1.2. 关系数据库 小规模 2 2. 知识图谱查询语言
  6. Atitit uke各大事业部规划 约365个事业部
  7. atitit.nfc 身份证 银行卡 芯片卡 解决方案 attilax总结
  8. ATIchinapay银联支付模块.zip
  9. PAIP.通过公共网络传递秘密信息.txt (包括语音和文字)
  10. Rust : async、await 初探