PHP函数strip_tags的一个bug浅析


Posted in PHP onMay 22, 2014

PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。

由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。

比如下述代码:

<div>string</div>string<string<b>hello</b><div>string</div>

通过 strip_tags($str, ‘<div>') 过滤,我们可能期望得到如下结果:

<div>string</div>string<stringhello<div>string</div>

而实际操作结果是这样的:

<div>string</div>string

这一切都是因为加红的那个左尖括号,查了 PHP 的文档,有一个警告提示:

由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。

既然在执行过滤前无法验证代码正确性,遇到和标签相关的字符 “<” 或 “>” 后面的代码就全挂了!

PHP 相关文章推荐
PHP - Html Transfer Code
Oct 09 PHP
PHP SQLite类
May 07 PHP
php $_SERVER当前完整url的写法
Nov 12 PHP
PHP 图片上传实现代码 带详细注释
Apr 29 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
yii框架通过控制台命令创建定时任务示例
Apr 30 PHP
Smarty中调用FCKeditor的方法
Oct 27 PHP
PHP的引用详解
Feb 22 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
Nov 30 PHP
php判断数组是否为空的实例方法
May 10 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 #PHP
PHP+memcache实现消息队列案例分享
May 21 #PHP
php+highchats生成动态统计图
May 21 #PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 #PHP
Smarty模板学习笔记之Smarty简介
May 20 #PHP
php实例分享之mysql数据备份
May 19 #PHP
dedecms函数分享之获取某一栏目所有子栏目
May 19 #PHP
You might like
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
PHP的栏目导航程序
2006/10/09 PHP
PHP+APACHE实现用户论证的方法
2006/10/09 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
node.js中的socket.io入门实例
2014/04/26 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
Python中关于字符串对象的一些基础知识
2015/04/08 Python
CSS3实现点击放大的动画实例代码
2017/02/27 HTML / CSS
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
瑜伽国际:Yoga International
2018/04/18 全球购物
大学生在校学习的自我评价
2014/02/18 职场文书
保安岗位职责
2014/02/21 职场文书
网络管理专业求职信
2014/03/15 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
安全生产月活动总结
2014/05/04 职场文书
校园安全广播稿范文
2014/09/25 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
2016公司新年问候语
2015/11/11 职场文书
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android
无线电通信名词解释
2022/02/18 无线电
详解Golang如何优雅的终止一个服务
2022/03/21 Golang