已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章过滤器 Zend Filter 过滤器 Filter 是对输入内容进行过滤 清除其中不符合过滤规则的内容 并将其余内容返回的过程 过滤器这一机制广泛应用于Web用户互动程序中 通过过滤器可以对用户的输入内容进行无害化处理 最常使用的就是清除指定内容中的HTML代码 或者其中的回车换行符等 ZendFramework也提供了对过滤器的支持 使用Zend Filter组件即可实现过滤器的功能 本章来介绍ZendFramework中的Zend Filter过滤器组件 10 1过滤器的使用方法 对引言中过滤器的基本定义进行延伸 过滤器除了清除内容之外还包括一般化的对输入数据的转化 作为使用过滤器的第一步 本节先来介绍过滤器的通常使用方法 本节内容包括如何使用单个过滤器与如何使用过滤器链 通过本节的介绍 读者会对如何使用过滤器有一个深刻的认识 10 1 1使用单个过滤器 Zend Filter中有一个Zend Filter Interface子类 该子类为实现一般过滤器提供了接口 要实现过滤器类 需要实现该接口中一个名为filter 的方法 通过filter 方法过滤掉指定内容中不需要的部分即可 Zend Filter中已经事先定义了很多常用的过滤器子类 要使用这些过滤器 首先要加载相应的组件 然后为类实例化对象 再调用对象的filter 方法即可 10 1 2使用过滤器链 过滤器除了单个使用之外 还可以将多个过滤器串连起来配合使用 过滤器链就是多个过滤器的一个连接 在对指定的内容进行过滤时 每个过滤器将按照其顺序分别进行过滤或者转化操作 当所有的过滤操作都被进行完时 过滤器链返回最终的过滤结果 过滤器链与单一的过滤器一样 也可以执行Filter 方法 调用此方法即可对指定数据进行多重过滤或者转化操作 10 2常用的预定义过滤器 名称过滤内容Alnum所有非字母或数字的内容Alpha所有非字母的内容BaseName给定路径所有非文件名部分Digits所有非数值的内容Dir给定路径所有非目录部分HtmlEntities替换HTML标记符 Input 该过滤器较为特殊 将在10 3小节详细介绍 Int非整数的内容RealPath所有非规范化的绝对路径名StringToLower字母全部转换为小写StringToUpper字母全部转换为大写StringTrim字符串首尾的空格StripTags去除字符串的HTML内容表10 1中的Alpha StringToLower StringToUpper过滤器在前两节介绍实例中已经做了介绍 本节将重点介绍剩余的Alnum HtmlEntities Int与StripTags过滤器 另外 Input过滤器比较特殊 将在本章10 3节中详细介绍 除此之外的过滤器使用都非常简单 这里不再赘述 10 2 1Alnum字母或数值过滤器 使用Zend Filter Alnum过滤器可以对给定内容中的非数字也非字母的内容进行过滤 通过该过滤器的Filter 方法 将返回纯数字与字母的内容 除此之外的其他内容都将被过滤 该过滤器可以看作是过滤器Zend Filter Alpha 过滤非字母 与Zend Filter Digits 过滤非数值 的并集 10 2 2HtmlEntitiesHTML过滤器 Zend Filter HtmlEntities过滤器可以对给定内容中的HTML代码进行过滤 该过滤器是对PHP函数 htmlentities 进行了封装 所以通过此过滤器的HTML内容都将被过滤掉 10 2 3Int整型数过滤器 Zend Filter过滤器中的Int过滤器可以对指定的数值进行整型转换 即将非整部分过滤掉 该过滤器对要求输入的内容仅为整数时就非常有用 10 2 4StripTagsHTML字符过滤器 Zend Filter StripTags过滤器的作用是将字符串中的HTML内容进行删除 该过滤器与Zend Filter HtmlEntities过滤器不同 后者只是将 符号进行转换 而Zend Filter StripTags过滤器则是直接过滤掉被 符号所包括的内容 10 3Zend Filter Input过滤器 在所有的预定义过滤器中 Zend Filter Input是最为特殊的一类过滤器 该过滤器的使用方法与其他过滤器的使用方法有很大不同 该过滤器专门用于实现对互动程序中用户输入数据的过滤 要实现该过滤器通常要分以下几步 定义过滤与校验规则 创建过滤与校验处理器 检索处理后的字段与其他报告内容 本节就按照上述使用顺序来详细介绍如何使用Zend Filter Input进行过滤操作 其中提到了关于校验器的知识 关于这部分内容将在本书第派遣11章详细介绍 10 3 1定义过滤与校验规则 在创建一个Zend Filter Input类的实例之前 需要为该过滤器分别创建过滤规则与校验规则数组 其中两个数组的键与值 为需要获取前台表单的表单项名称 与相应对其进行处理的子类名称 如对用户输入的用户名进行小写转换 StringToLower 对用户输入的年龄进行非数值过滤 Digits 另外 还需要对用户进行是否为字母的校验 10 3 2创建Input过滤器 在定义完过滤与校验规则之后 就可以创建Zend Filter Input过滤器了 该创建过程只需要为Zend Filter Input类使用new关键字实例化对象即可 在实例化对象时需要指明所定义的过滤与校验规则 10 3 3检索处理后的字段与其他内容 在定义了Zend Filter Input过滤器之后 就可以通过多种方法来获取其中的各项内容 其中包括无效内容 Invalid 丢失的内容 Missing 和未知的内容 Unknown 等 当然最重要的还是返回经过处理之后的内容 10 3 4实战Zend Filter Input 前面三节为读者介绍了使用Zend Filter Input过滤器的过程 本节通过一个可执行的实例来实际应用一下此过滤器 10 4创建自定义过滤器 通过对10 2节中的常用预定义过滤器的学习可以发现 Zend Filter组件中已经预定义了很多常用的过滤器 但是仅凭这些系统预定义过滤器有时并不能完全满足实际编程环境的需要 此时 用户可以通过自定义过滤器来满足自己更多的需要 Zend Filter支持自定义过滤器 本节就来介绍如何实现自定义过滤器 要编写自定义过滤器 需要定义一个类 并引用Zend Filter Interface接口 该接口定义了filter 方法 这个方法可以在用户的类里被实现 用Zend Filter addFilter 可以把一个实现这个接口的对象添加到过滤器链 10 5小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全协议书的法律效力
- 真不想和大佬协议书离婚
- 失眠症预防与管理方案训练
- 宇宙知识科普简短
- 2026广东汕头大学医学院实验动物中心劳务派遣人员招聘4人备考题库及参考答案详解(巩固)
- 2026国家统计局兵团第十四师调查队招聘1人备考题库(新疆)及参考答案详解(综合卷)
- 2026上半年安徽黄山市休宁城乡建设投资集团有限公司及权属子公司招聘18人备考题库含答案详解ab卷
- 2026四川甘孜州泸定县人民医院编外招聘工作人员5人备考题库及答案详解【必刷】
- 麻醉术后监测流程
- 2026黑龙江齐齐哈尔市拜泉县乡镇卫生院招聘医学相关专业毕业生5人备考题库附参考答案详解(达标题)
- 《青鸟》阅读交流课课件
- 初中英语听力mp3下载带原文mp3 初中英语听力mp3下载免费百度网盘
- X光安检机培训-PPT
- 盐城市区饮用水源生态净化工程验收调查报告
- GB/T 42477-2023光伏电站气象观测及资料审核、订正技术规范
- LY/T 2787-2017国家储备林改培技术规程
- GB/T 29256.3-2012纺织品机织物结构分析方法第3部分:织物中纱线织缩的测定
- 六年级下册数学试题数认识专题训练版语文
- 化工设备安装课件
- SY∕T 7298-2016 陆上石油天然气开采钻井废物处置污染控制技术要求
- 钢结构焊接施工方案(最终版)
评论
0/150
提交评论