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函数
Dec 06 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 PHP
PHP持久连接mysql_pconnect()函数使用介绍
Feb 05 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
PHP读取大文件的类SplFileObject使用介绍
Apr 09 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
php计算函数执行时间的方法
Mar 20 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
php读取本地json文件的实例
Mar 07 PHP
为何说PHP引用是个坑,要慎用
Apr 02 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 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
php 生成文字png图片的代码
2011/04/17 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
php中动态修改ini配置
2014/10/14 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
python实现文字版扫雷
2020/04/24 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
python定时截屏实现
2020/11/02 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
Java基础类库面试题
2013/09/04 面试题
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
获奖的大学生创业计划书
2014/01/05 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
内勤岗位职责
2015/02/10 职场文书
银行先进个人总结
2015/02/15 职场文书
python分分钟绘制精美地图海报
2022/02/15 Python