php过滤字段htmlentities,htmlspecialchars,strip_tags
1.strip_tags:过滤html标签比如<a> <html> <script>
如:
$str = '<a href="test.html">文字内容</a><script>alert(213)</script>';
echo strip_tags($str); 输出结果:
文字内容alert(213)
去掉了<script></script> 标签
应用场景:去掉表单提交内容的html标签 2.htmlentities,htmlspecialchars 过滤字段的各种特殊符号
区别一:
htmlentities对欧元符号'€'转义,美元符号'$' 不转义
htmlspecialchars对欧元符号'€'不转义,美元符号'$' 不转义 区别二:
$str = '<a href="demo.php?m=index&a=index&name=中文">测试页面</a>'; echo 'htmlentities指定GB2312编码:'.htmlentities($str,ENT_COMPAT,"GB2312").''; echo 'htmlentities未指定编码:'.htmlentities($str).''; $str = '<a href="demo.php?m=index&a=index&name=中文">测试页面</a>'; echo htmlspecialchars($str).'';
输出:
htmlentities指定GB2312编码:<a href="demo.php?m=index&a=index&name=中文">测试页面</a> htmlentities未指定编码:<a href="demo.php?m=index&a=index&name=ÖÐÎÄ">²âÊÔÒ³Ãæ</a> <a href="demo.php?m=index&a=index&name=中文">测试页面</a>
测试
$str='<a href="test.html">测试</a>';
$transstr = htmlspecialchars($str) ;
echo $transstr . "<br />";
echo htmlspecialchars_decode($transstr);
总结:htmlentities会转化所有的html代码,连同里面的它无法识别的中文字符也给转化了(当有中文的时候会变成乱码)。htmlspecialchars 只会转化部分代码(如:& ' " < 和 > )
结论:有中文的时候用htmlspecialchars,使用htmlentities 必须要 htmlentities($str, ENT_COMPAT, 'gb2312'); strip_tags防止<a href> <script>alert(1)</script> html标签提交
php过滤字段htmlentities,htmlspecialchars,strip_tags的更多相关文章
- [转]Gson过滤字段
原文地址:http://my.oschina.net/orgsky/blog/368768 摘要 Gson过滤字段 Gson过滤字段 Gson 过滤 字段 属性 目录[-] 最简单的用法 方法1:排除 ...
- 使用dao时,如何同时使用动态表名和过滤字段?
使用dao时,如何同时使用动态表名和过滤字段? 发布于 630天前 作者 wukonggg 316 次浏览 复制 上一个帖子 下一个帖子 标签: 无 如题.求样例代码 1 回复 wend ...
- 过滤输入htmlentities与htmlspecialchars用法
过滤输入 (即来自所列数据源中的任何数据)是指,转义或删除不安全的字符.在数据到达应用的存储层之前,一定要过滤输入数据.这是第一道防线.假如网站的评论表单接收html,默认情况下 访客可以毫无阻拦地在 ...
- Fastjson 实体类JSON化过滤字段操作-PropertyFilter
过滤实体类中年龄等于5的字段 List<Users> models=new ArrayList<>(); for(int i=0;i<11;i++){ Users mod ...
- Spring MVC灵活控制返回json的值(自定义过滤字段)
在使用spring MVC开发过程中,为了提高项目执行效率,所以在一些外键字段的实体中会注解”@ManyToOne(fetch = FetchType.LAZY)”以实现延迟加载的效果. 但是,在使用 ...
- FastJson序列化时过滤字段(属性)的方法总结
FastJson序列化时(即转成JSON字符串时),可以过滤掉部分字段,或者只保留部分字段,方法有很多,下面举一些常用的方法. 方法一.FastJson的注解 @JSONField(serialize ...
- fastjson过滤字段
1.注解(字段上添加) @JSONField(serialize=false) 2.过滤器 PropertyFilter propertyFilter = new PropertyFilter() { ...
- 过滤字段中HTML标签
代码中只是过滤了一部分标签,例如span这些还是没有过滤,如果有更好办法的,可以帮忙补充 create FUNCTION [dbo].[CleanHTML] (@HTMLText VARCHAR(MA ...
- PHP数组去重..............过滤字段
$test_data = M('hot'); //实例化数据表 $data = $test_data->Distinct(true)->field('descriprion')->o ...
随机推荐
- Sortable拖拽排序插件数据筛选
后台有拖拽排序功能,然而前段在开发的时候,一整页的数据都发给后端了. 于是查看前端代码,想到了如下解决办法,即先把排序前的保存,然后对比排序后的,有差异的才发回给后端. var new_ids_ord ...
- [synergy]两台机器公用键盘鼠标
两台机器公用键盘鼠标 如果是Linux: 下载synergy相关的deb包,然后
- [转]Java中的JavaBean类
一. javabean 是什么? Bean的中文含义是"豆子",顾名思义,JavaBean是指一段特殊的Java类, 就是有默然构造方法,只有get,set的方法的java类的对象 ...
- 在 Android studio 中 配置Gradle 做到 “根据命令行提示符生成指定versionCode, versionName,指定apk的打包输出路径”
需求: 1. 使用 Android studio ,使用 gradle 进行构建 2. 在实际开发中,我们需要使用jenkins进行打包.就需要配置我们的 gradle 脚本以支持参数化的方式. 3. ...
- python安装新版本及pip
Linux安装python: yum install zlib -yyum install zlib-devel -y yum install readline-devel -y yum instal ...
- Redis列表
Redis列表是简单的字符串列表,排序插入顺序.您可以在头部或列表的尾部Redis的列表添加元素. 列表的最大长度为232 – 1 (每个列表超过4十亿元素4294967295)元素. 例子 redi ...
- substance新版及问题
新版地址:https://github.com/Insubstantial,目前是7.3版 http://stackoverflow.com/questions/3657538/substance-u ...
- Redis 学习笔记1
配置文件: 根据配置文件打开服务器: redis-server redis.conf --port 6370 redis-cli -localhost -p 6370 动态设置/获取配置选项的值 CO ...
- android studio 解析Excel数据格式导入poi-3.17.jar时的一系列报错及处理Failed resolution of: Ljavax/xml/stream/XMLEventFactory,duplicate entry: org/apache/xmlbeans/xml/stream/Location.class,GC overhead limit exceeded
在org官网下载的poi jar包,导入到studio compile files('libs/poi-3.17.jar') compile files('libs/poi-ooxml-3.17.ja ...
- How MapReduce Works
转自:http://blog.csdn.net/luyee2010/article/details/8624470 一.从Map到Reduce MapReduce其实是分治算法的一种实现,其处理过程亦 ...