PHP强大的内置filter (二) 完
<?php
#Sanitize filters
#Sanitize filters 可以清理掉不规范的字符
# FILTER_SANITIZE_EMAIL 可以清理除了 字母和数字 以及 !#$%&'*+-/=?^_`{|}~@.[] 以外的字符 (感觉没什么用啊)
$result = filter_var('这里是一个email地址asdjaslkd@sdjkasdj.com',FILTER_SANITIZE_EMAIL);
var_dump($result);
# FILTER_SANITIZE_ENCODED 处理URL编码 有4个flags
# FILTER_FLAG_STRIP_LOW - 去除 ASCII 值在 32 以下的字符
# FILTER_FLAG_STRIP_HIGH - 去除 ASCII 值在 32 以上的字符
# FILTER_FLAG_ENCODE_LOW - 编码 ASCII 值在 32 以下的字符
# FILTER_FLAG_ENCODE_HIGH - 编码 ASCII 值在 32 以上的字符
# 感觉还是urlencode函数更实用
$result = filter_var('http://www.longxiao7.com',FILTER_SANITIZE_ENCODED);
var_dump($result);
# FILTER_SANITIZE_MAGIC_QUOTES 等同于 addslashes 函数
# FILTER_SANITIZE_NUMBER_FLOAT 删除浮点数中所有非法的字符 此FILTER可能存在的flags如下
# FILTER_FLAG_ALLOW_FRACTION 允许小数部分
# FILTER_FLAG_ALLOW_THOUSAND 允许千分位计数
# FILTER_FLAG_ALLOW_SCIENTIFIC 允许科学计数
$result = filter_var('0.54548',FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION);
var_dump($result);
$result = filter_var('1000,000,000',FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_THOUSAND);
var_dump($result);
$result = filter_var('1E20',FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_SCIENTIFIC);
var_dump($result);
# FILTER_SANITIZE_NUMBER_INT 过滤整数以外的字符
$result = filter_var('54548)*)(……&*%6554……¥测试字符.055',FILTER_SANITIZE_NUMBER_INT);
var_dump($result);
# FILTER_SANITIZE_SPECIAL_CHARS 处理HTML转义字符 '"<>& 以及 ASCII 值小于 32 的字符
# flags
# FILTER_FLAG_STRIP_LOW - 去除 ASCII 值在 32 以下的字符
# FILTER_FLAG_STRIP_HIGH - 去除 ASCII 值在 32 以上的字符
# FILTER_FLAG_ENCODE_HIGH - 编码 ASCII 值在 32 以上的字符
$result = filter_var('<script>alert(\' 中文\')</script>',FILTER_SANITIZE_SPECIAL_CHARS);
var_dump($result);
# FILTER_SANITIZE_FULL_SPECIAL_CHARS 上面那个加强版?貌似和htmlspecialchars函数是一样的
#FILTER_SANITIZE_STRING 过滤器去除或编码不需要的字符。
# flags
# FILTER_FLAG_NO_ENCODE_QUOTES - 该标志不编码引号
# FILTER_FLAG_STRIP_LOW - 去除 ASCII 值在 32 以下的字符
# FILTER_FLAG_STRIP_HIGH - 去除 ASCII 值在 32 以上的字符
# FILTER_FLAG_ENCODE_LOW - 编码 ASCII 值在 32 以下的字符
# FILTER_FLAG_ENCODE_HIGH - 编码 ASCII 值在 32 以上的字符
# FILTER_FLAG_ENCODE_AMP - 把 & 字符编码为 &
$result = filter_var('<script>alert(\' 中文\')</a>',FILTER_SANITIZE_STRING,FILTER_FLAG_ENCODE_AMP);
var_dump($result);
# FILTER_SANITIZE_URL 可以清理除了 字母和数字 以及 $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=以外的字符
# FILTER_UNSAFE_RAW 感觉意义不大,需要配合flags才能工作 详见PHP手册
?>
PHP强大的内置filter (二) 完的更多相关文章
- PHP强大的内置filter (一)
<?php #PHP内置的validate filter $input_data = True; $result = filter_var($input_data,FILTER_VALIDATE ...
- python---day14( 内置函数二)
内置函数二一:匿名函数 lambda函数 lambda 表示匿名函数,不需要用def 来申明. 语法: 函数名=lambda 参数:返回值 ----〉 案例:f=lambda n:n*n 例子01: ...
- python函数知识六 内置函数二、匿名函数与内置函数三(重要)
19.内置函数二 abs():绝对值 lst = [1,2,-3,1,2,-5] print([abs(i) for i in lst]) enumerate("可迭代对象",&q ...
- Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三
Unit05: JavaScript对象概述 . 常用内置对象一 . 常用内置对象二 . 常用内置对象三 常用内置对象使用演示: <!DOCTYPE html> <html> ...
- day 15 内置函数二 递归 lamda sorted filter map 二分法求值
回顾 for i in dict #对字典进行遍历,拿到的是字典的key 今日主要内容 1. lambda 匿名函数 语法: lambda 参数:返回值 不能完成复杂的操作.只能写一行 注意: 1 ...
- 内置函数二: map sorted filter
-----------生活里没有奇迹,大部分的时候奇迹是你自己创造的. # -------------------------------------------------------------- ...
- day16:内置函数二
1,大作业,yield 返回之后可以对数据进行处理了就,注意函数的解耦,每一个小功能写成一个函数,增强可读性,写之前自己要先把整体功能分块,先做什么,在做什么 # 现在需要对这个员工信息文件进行增删改 ...
- Python入门-内置函数二
看到标题你也能猜到今天要说大概内容是什么了,没错,昨天没有说完的部分再给大家说说(有一些重合的部分),内置函数的内容比较多,并且工作中经常用到的却不太多,很多都是不太常用的,所以我就着重说一些比较常用 ...
- python 内置函数(二) 进阶函数 递归内容及二分法查找 知识点
1,lambda: 匿名函数 2.sorgted() 排序函数 3,filter() 过滤函数 筛选 4,map() 映射函数 5.递归 6.二分法 一. 匿名函数: lambda lamb ...
随机推荐
- ava中拦截器 过滤器 监听器都有什么区别
过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts2的action进行业务逻辑,比如过滤掉非法u ...
- JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)
import java.awt.BasicStroke; import java.awt.Color; import java.io.FileOutputStream; import java.io. ...
- 日期工具类 - DateUtil.java
日期工具类,提供对日期的格式化和转换方法.获取区间日期.指定日期.每月最后一天等. 源码如下:(点击下载 -DateUtil.java.commons-lang-2.6.jar ) import ja ...
- ubuntu10.04共享文件夹
ubuntu10.04共享文件夹 参考http://jingyan.baidu.com/album/9989c746084c70f648ecfe99.html,共享了home文件夹,然后把共享文件夹映 ...
- URAL1513. Lemon Tale(dp)
1513 这题好久之前就看过了,悲催的是当时看题解都没看懂,今天又看了看so easy... n个B里不能出现超过连续k个L的情况 一维递推就可以 两种情况 1.dp[i] += dp[i-1] 在i ...
- HTML5中的localStorage用法
存储数据的方法就是直接给window.localStorage添加一个属性,例如:window.localStorage.name 或者 window.localStorage["name& ...
- JAVA使用DES加密算法加密解密
程序中使用了.properties文件作为参数配置文档,好处是灵活配置各项参数 一旦对数据库的一些参数进行了配置,势必涉及数据库的IP,端口,用户名和密码 properties文件全是unicode编 ...
- Windows 桌面软件:不绑定bing搜索的缤纷桌面
bing:世界上最好的壁纸提供商 ^.^一直垂涎着Bing的壁纸,总是想找机会来一番邂逅. 之前使用bing自家的缤纷桌面.这个软件缺点就是和bing搜索绑定太厉害,放在桌面上感觉那个黑色的条框很碍 ...
- RAD DELPHI XE5的android开发环境配置
RAD XE5 支持本地化跨平台编译(IOS,OS-X,WIN 64,WIN32,ANDROID) 对于android的开发环境,XE5支持模拟器,和真机设备两种模式: 1. 模拟器:(支持4.0.3 ...
- 每天一个Linux命令(1): find
1 find 命令是用来查找制定目录下符合条件的文件执行相应的动作(print exec等) find [path...] [expression] path:find命令所查找的目录路径.例如用.来 ...