详解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通过COM使用ADODB的简单例子
Dec 31 PHP
PHP extract 将数组拆分成多个变量的函数
Jun 30 PHP
PHP 下载文件时自动添加bom头的方法实例
Jan 10 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
codeigniter中view通过循环显示数组数据的方法
Mar 20 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
php获取访问者浏览页面的浏览器类型
Jan 23 PHP
ThinkPHP下表单令牌错误与解决方法分析
May 20 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
PHP使用Session实现上传进度功能详解
Aug 06 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 字符串处理函数大全
2010/03/23 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
javascript 短路法代码精简
2009/08/20 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
js中if语句的几种优化代码写法
2011/03/12 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
TensorFlow高效读取数据的方法示例
2018/02/06 Python
django的登录注册系统的示例代码
2018/05/14 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
python3.4中清屏的处理方法
2020/07/06 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
护理不良事件检讨书
2014/02/06 职场文书
顶碗少年教学反思
2014/02/21 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
教师节校长致辞
2015/07/31 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript