详解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 中英文语言转换类
Sep 07 PHP
php连接Access数据库错误及解决方法
Jun 20 PHP
php除数取整示例
Apr 24 PHP
php函数实现判断是否移动端访问
Mar 03 PHP
php字符串按照单词进行反转的方法
Mar 14 PHP
php字符串函数学习之substr()
Mar 27 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
php给图片加文字水印
Jul 31 PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
laravel model 两表联查示例
Oct 24 PHP
php修改word的实例方法
Nov 17 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 简易输出CSV表格文件的方法详解
2013/06/20 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
js滚动条回到顶部的代码
2011/12/06 Javascript
javascript中常用编程知识
2013/04/08 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
Python采用raw_input读取输入值的方法
2014/08/18 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
2020/06/11 Python
python中温度单位转换的实例方法
2020/12/27 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
德国高尔夫商店:Par71.de
2020/11/29 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
小学雷锋月活动总结
2014/07/03 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
搞笑老公保证书
2015/02/26 职场文书