详解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 和 XML: 使用expat函数(二)
Oct 09 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
Mar 19 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 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代码
2010/08/08 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
基于easyui checkbox 的一些操作处理方法
2017/07/10 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
python 切片和range()用法说明
2013/03/24 Python
用python登录Dr.com思路以及代码分享
2014/06/25 Python
详解在Python和IPython中使用Docker
2015/04/28 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
python实现list由于numpy array的转换
2018/04/04 Python
详解Python的三种可变参数
2019/05/08 Python
python文件操作的简单方法总结
2019/11/07 Python
python中逻辑与或(and、or)和按位与或异或(&amp;、|、^)区别
2020/08/05 Python
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
医生进修自我鉴定
2014/01/19 职场文书
李培根演讲稿
2014/05/22 职场文书
农业项目建议书
2014/08/25 职场文书
毕业实习计划书
2015/01/16 职场文书
继承公证书格式
2015/01/26 职场文书
考研导师推荐信范文
2015/03/27 职场文书
教师教育教学随笔
2015/08/15 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python