PHP 过滤器(Filter)

简介

PHP 过滤器用于验证和过滤来自非安全来源的数据。验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分。设计 PHP 的过滤器扩展的目的是使数据过滤更轻松快捷。

由于大部分Web应用程序都依赖于外部数据的输入,这些数据的来源包括:

  • 来自表单的输入数据
  • Cookies
  • 服务器变量
  • 数据库查询结果

通过使用过滤器,您能够确保应有程序获得正确的输入类型。

过滤函数

对于需要过滤的变量,使用下列函数:

函数描述PHP
filter_has_var()检查是否存在指定输入类型的变量。5
filter_id()返回指定过滤器的 ID 号。5
filter_input()从脚本外部获取输入,并进行过滤。5
filter_input_array()从脚本外部获取多项输入,并进行过滤。5
filter_list()返回包含所有得到支持的过滤器的一个数组。5
filter_var_array()获取多项变量,并进行过滤。5
filter_var()获取一个变量,并进行过滤。5

PHP:指示支持该函数的最早的 PHP 版本。

过滤器

FILTER_CALLBACK

调用用户自定义函数来过滤数据。把自定义的函数作为一个过滤器来使用。这样,就拥有了数据过滤的完全控制权。指定的函数必须存入名为 “options” 的关联数组中。

注意:既可以创建自己的自定义函数,也可以使用已有的 PHP 函数。规定准备用到过滤器函数的方法,与规定选项的方法相同。

在下面的例子中,使用了一个自定义的函数把所有 “_“ 转换为空格:

1
2
3
4
5
6
7
8
<?php
function convertSpace($string) {
return str_replace("_", " ", $string);
}
$string = "Peter_is_a_great_guy!";
echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace"));
?>
// 结果:Peter is a great guy!

validating过滤器

  • 作用

    1. 用于验证用户输入。
    2. 严格的格式规则。(比如 URL 或 E-Mail 验证)
    3. 如果成功则返回预期的类型,失败则返回 false。
  • 效果:Validation 用于校验数据。例如,在filter_var($variable)中传入FILTER_VALIDATE_EMAIL,会校验$variable是否为合法的email地址。

  • 返回结果:校验通过返回数据,校验失败返回false。

1
2
3
4
5
6
7
8
<?php
$var=300;

$int_options = array("options"=>
array("min_range"=>0, "max_range"=>256));

var_dump(filter_var($var, FILTER_VALIDATE_INT, $int_options));
?>

sanitizing过滤器

  • 作用

    1. 用于允许或禁止字符串中指定的字符。
    2. 无数据格式规则。
    3. 始终返回字符串。
  • 效果:Sanitization 用于修正数据,不校验数据。例如,在filter_var($variable)中传入FILTER_SANITIZE_EMAIL,$variable变量中不符合email地址规则的字符将会被修剪。

  • 返回结果:返回修正后的数据,无论修正是否起作用。

  • 示例

1
2
3
4
<?php
$url="http://www.w3school.com.cn";
var_dump(filter_var($url,FILTER_SANITIZE_ENCODED));
?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二 极 管

二 极 管 二极管是用半导体材料(硅、硒、锗等)制成的一种电子器件 。它具有单向导电性能&#xff0c; 即给二极管阳极加上正向电压时&#xff0c;二极管导通。 当给阳极和阴极加上反向电压时&#xff0c;二极管截止。 因此&#xff0c;二极管的导通和截止&#xff0c;则相当于…

PHP(一)——概述及服务器配置

PHP概述PHP定义PHP是Hypertext Preprocessor&#xff08;超文本预处理器&#xff09;的缩写&#xff0c;是服务器端的、跨平台的、HTML嵌入式的脚本语言&#xff0c;尤其适合Web开发。 优势PHP是一种很有前景的Web语言&#xff0c;其具有以下优势&#xff1a; 开放源代码。易于…

PHP(二)——HTML基础

HTML简介HTNL是超文本标记语言 (Hyper Text Markup Language)&#xff0c;是一种文本标记语言&#xff0c;不需要编译&#xff0c;可以直接被浏览器执行&#xff08;属于浏览器解释型语言&#xff09;。 HTML语法HTML是一种标记语言&#xff0c;组成HTML语法的元素有HTML标签和…

microsoft已过期

microsoft已过期 第一步&#xff1a;点击红色剪头&#xff0c;选择设置 第二步&#xff1a;点击&#xff1a;关于microsoft edge&#xff1b;等待更新&#xff0c;重启就行。

PHP(三)——PHP基础知识

PHP基础语法PHP在HTML中的嵌入&#xff0c;允许四种类型 <?php 和 ?>&#xff0c;只要支持PHP语言的服务器。<? 和 ?>&#xff0c;需将php.ini文件中的short_open_tag的值设为on。<script language "php"> 和 </script><% 和 %>&a…

计算机启动流程

引言“启动”英文是boot&#xff0c;其本意是靴子的意思&#xff0c;这里boot是bootstrap&#xff08;鞋带&#xff09;的缩写&#xff0c;来自谚语"pull oneself up by ones bootstraps"&#xff0c;译为“拽着鞋带把自己拉起来”。 最早的时候&#xff0c;工程师们…

Mathtype

Mathtype Mathtype安装后的激活 桌面右键新建文本文档,复制代码进去,把后缀修改为reg(这里文件名直接规范写成mathtype.reg)。 关闭程序后双击reg文件。(若选择自行复制,文件代码在评论区,自行复制,另存为reg文件。点击确认添加到注册表) Windows Registry Editor …

为什么银行没有厕所?内急了怎么办!

说到银行没有设厕所&#xff0c;估计大家都在吐槽&#xff0c;有时候在银行排队一两个小时&#xff0c;内急了都没地方解决&#xff0c;以前还听说有一个老太太求银行开放厕所不行&#xff0c;结果拉在裤子上的新闻&#xff0c;最近我又看到有一个网友说他去银行实在太内急&…

GPIO模块寄存器的封装

GPIO模块寄存器的封装 1、结构体的基础知识 2、GPIO的寄存器排列 三、GPIO寄存器的封装 四、GPIO的端口定义 例子如下&#xff1a; GPIOH_OTYPER相对GPIOH_MODER 偏移4字节&#xff0c;GPIOH_OSPEEDR相对GPIOH_OTYPER偏移4字节等寄存器。 typedef unsigned int unint32_t;/…

每月1000元存入余额宝或银行,十年后会有多少?

首先我们来看下存入余额宝的收益余额宝属于货币基金&#xff0c; 没有固定的收益&#xff0c;不能保证你旱涝保收。我们来看下余额宝成立至今的收益率分布&#xff1a;从这个两个表当中&#xff0c;我们可以看出&#xff0c;余额宝收益最高是2013年12月到2014年2月这段时间&…

为何很多理财平台扣钱很快,但是提现的时候却很慢?

举个简单的例子&#xff0c;当一个人很饿的时候你给他一块面包&#xff0c;你说他积极不积极&#xff1f;但是当他刚吃到一半还没吃饱&#xff0c;你却提前要把面包收回去&#xff0c;你说人家能积极吗&#xff1f;当然这只是个例子&#xff0c;实际上往理财平台转钱很快&#…

如是院长说:买不起房就多买两套,大家怎么看

4月11日在博鳌亚洲论坛下午开展的分论坛“楼市&#xff1a;这次真的不一样”中&#xff0c;如是金融研究院院长、首席经济学家管清友劝大家&#xff1a;买不起房你就多买两套&#xff01;不然以后你更加买不起。借钱也得买啊&#xff01;对此大家怎么看呢&#xff1f;对于这个观…

发生地震等灾难,死难者的存款会怎么处理?

最近有网友提出了一个疑问&#xff0c;人在灾难中死亡后&#xff0c;存在银行的钱会不会被银行私吞呢&#xff1f;毕竟死无对证嘛&#xff01;其实对于人死亡后的存款处理问题&#xff0c;根据我国《商业银行法》和《关于查询、停止支付和没收个人在银行的存款以及存款人死亡后…

DSP开发环境及工具之CCS

DSP开发环境及工具之CCS CCS( Code Composer Studio)是美国德州仪器(TI)公司的嵌入式处理器的开发环境,可以用于TI公司的各个系列处理器的软件开发和调试,如DSP,MCU,ARM等。 主要的操作都是在这个窗口之间做相应的切换。 创建工程文件 或者

许家印帮贾跃亭广州拿地造车,这是要翻身的节奏吗?

4月8日&#xff0c;被指为贾跃亭关联公司的睿驰智能汽车&#xff08;广州&#xff09;有限公司&#xff0c;以3.64亿元底价拍下广州南沙区保税港区一宗逾600亩制造业用地。很多人都猜测这是贾跃亭卷土重来的迹象。而在贾跃亭拿地的背后&#xff0c;有很多人猜测是许家印在背后帮…

1000万存在银行,一年的利息够日常生活费吗?

1000万存一年的利息对于大部分人来说绝对是够生活的&#xff0c;但是对于王思聪来说估计零花钱都不够&#xff01;我们先来看下&#xff0c;1000万存银行一年的利息有多少活期存款&#xff1a;活期利息目前是0.3%&#xff0c;那1000万一年的利息就是3万块钱&#xff0c;这个够一…

CMD内存定位文件-1

CMD内存定位文件 TI的DSP应用程序&#xff0c;是一段固定地址运行的代码。也就是说&#xff0c;在编译和连接完成后&#xff0c;其代码的运行地址也就固定下来了。PC上的应用程序&#xff08;.exe格式&#xff09;有很大差别。.exe文件在装入时&#xff0c;由操作系统为其分配…

央行降准,房价可能又要骚动了!

4月17日傍晚&#xff0c;央行发布公告&#xff0c;将从2018年4月25日起&#xff0c;下调大型商业银行、股份制商业银行、城市商业银行、非县域农村商业银行、外资银行人民币存款准备金率1个百分点&#xff1b;同日&#xff0c;上述银行将各自按照“先借先还”的顺序&#xff0c…

keras的学习笔记

简介Keras是一个高层神经网络API&#xff0c;Keras由纯Python编写而成并基于Tensorflow、Theano和CNTK后端。Keras 支持快速实验&#xff0c;能够把你的idea迅速转换为结果&#xff0c;适用场景&#xff1a; 简易和快速的原型设计&#xff08;keras具有高度模块化&#xff0c;极…

他们曾是别人眼中的笑话,最后却都成了神话

有一个瘦小的小伙去肯德基应聘&#xff0c;他落选了。后来他跟大老板们讲了讲什么叫电子商务&#xff0c;大老板们得出一个结论&#xff0c;这是个骗子&#xff0c;后来他创造了阿里巴巴商业帝国&#xff0c;这个人叫马云。有人对一个年轻人说&#xff0c;你这么丑&#xff0c;…