详解PHP函数 strip_tags 处理字符串缺陷bug


Posted in PHP onJune 11, 2017

详解PHP函数 strip_tags 处理字符串缺陷bug

PHP 函数 strip_tags() 是一个常用函数,该函数可以剥去字符串中的 HTML、XML 以及 PHP 的标签。极大方便了对字符串的操作,但是 strip_tags() 函数存在缺陷bug,由于 strip_tags() 无法验证 HTML 不完整或者破损标签将导致更多的数据被删除。

例子:

$str = '<div>string</div>string<string<b>hello</b><div>string</div>';
 
echo strip_tags($str, '<div>');

输出:

<div>string</div>string

通过 strip_tags 函数过滤 <b> 标签,其实我希望得到下面这个结果:

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

导致我们未能得到所期望的结果,其实是因为字符串中第三个 string 左边那个尖括号,strip_tags 函数误删除了其他字符。

经过查找 PHP 相关文档发现 strip_tags 函数 有一个警告:由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。

既然不能验证 HTML 标签完整性,遇到字符串中包含“<”或“>”导致误删字符串中其他字符。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
用PHP制作静态网站的模板框架(二)
Oct 09 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
Jan 13 PHP
递归删除一个节点以及该节点下的所有节点示例
Mar 19 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
Jun 19 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
laravel 实现根据字段不同值做不同查询
Oct 23 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 #PHP
PHP中error_reporting函数用法详细介绍
Jun 11 #PHP
详解PHP处理字符串类似indexof的方法函数
Jun 11 #PHP
PHP获取文件扩展名的方法实例总结
Jun 10 #PHP
PHP获取数组中单列值的方法
Jun 10 #PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 #PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
Jun 10 #PHP
You might like
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
IE中createElement需要注意的一个问题
2010/07/13 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
js实现筛选功能
2020/11/24 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
Python转码问题的解决方法
2008/10/07 Python
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
python线程池threadpool实现篇
2018/04/27 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
基于Python实现用户管理系统
2019/02/26 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
通过cmd进入python的实例操作
2019/06/26 Python
基于django传递数据到后端的例子
2019/08/16 Python
python3下pygame如何实现显示中文
2020/01/11 Python
Python 从attribute到property详解
2020/03/05 Python
环境工程求职简历的自我评价范文
2013/10/24 职场文书
校园之声广播稿
2014/01/31 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
小数乘法教学反思
2016/02/22 职场文书