详解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 cookies中删除的一般赋值方法
May 07 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
pdo中使用参数化查询sql
Aug 11 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
Nov 17 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
php基于curl实现的股票信息查询类实例
Nov 11 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 PHP
CI框架简单分页类用法示例
Jun 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
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
PHP图片等比例缩放生成缩略图函数分享
2014/06/10 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
js对象与打印对象分析比较
2013/04/23 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
python实现手机销售管理系统
2019/03/19 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
Python生成器generator原理及用法解析
2020/07/20 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
美国著名的品牌折扣店:Burlington
2017/06/08 全球购物
高级工程师岗位职责
2013/12/15 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
年度评优评先方案
2014/06/03 职场文书
建议书范文
2015/02/05 职场文书
社区植树节活动总结
2015/02/06 职场文书
出纳岗位职责范本
2015/03/31 职场文书
工资证明格式模板
2015/06/12 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL