详解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 相关文章推荐
ADODB结合SMARTY使用~超级强
Nov 25 PHP
Windows PHP5和Apache的安装与配置
Jun 08 PHP
phplock(php进程锁) v1.0 beta1
Nov 24 PHP
PHP中include()与require()的区别说明
Mar 10 PHP
php disk_free_space 返回目录可用空间
May 10 PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 PHP
php编写的简单页面跳转功能实现代码
Nov 27 PHP
php两种无限分类方法实例
Apr 21 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
thinkphp框架下实现登录、注册、找回密码功能
Apr 06 PHP
php获取当前url地址的方法小结
Jan 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
PHP脚本的10个技巧(2)
2006/10/09 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
php实现微信支付之退款功能
2018/05/30 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
javascript/jquery获取地址栏url参数的方法
2014/03/05 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
js实现继承的5种方式
2015/12/01 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
详解如何使用webpack打包多页jquery项目
2019/02/01 jQuery
Layui实现带查询条件的分页
2019/07/27 Javascript
js实现打字小游戏
2019/12/17 Javascript
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
浅析Python中的序列化存储的方法
2015/04/28 Python
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
Python3监控疫情的完整代码
2020/02/20 Python
工程预算与管理应届生求职信
2013/10/06 职场文书
董事长岗位职责
2013/11/30 职场文书
大学四年职业生涯规划书范文
2014/01/02 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
小学科学教学计划
2015/01/21 职场文书
介绍信如何写
2015/01/31 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
如何用python插入独创性声明
2021/03/31 Python
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL