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 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
php mssql 数据库分页SQL语句
Dec 16 PHP
php对数组排序的简单实例
Dec 25 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
php $_SESSION会员登录实例分享
Jan 19 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 PHP
php中请求url的五种方法总结
Jul 13 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
详解PHP神奇又有用的Trait
Mar 25 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 PHP
PHP7 标准库修改
Mar 09 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提交表单发送邮件的方法
2015/03/20 PHP
php抽象类用法实例分析
2015/07/07 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
php实现session共享的实例方法
2019/09/19 PHP
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
javascript回调函数详解
2018/02/06 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
解决Python二维数组赋值问题
2019/11/28 Python
python自动识别文本编码格式代码
2019/12/26 Python
AUC计算方法与Python实现代码
2020/02/28 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
网吧收银员岗位职责
2013/12/14 职场文书
银行金融服务方案
2014/06/11 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
银行奉献演讲稿
2014/09/16 职场文书
大学生毕业个人总结
2015/02/15 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript