详解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 相关文章推荐
图书管理程序(三)
Oct 09 PHP
在PHP里得到前天和昨天的日期的代码
Aug 16 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
thinkPHP下的widget扩展用法实例分析
Dec 26 PHP
thinkphp下MySQL数据库读写分离代码剖析
Apr 18 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 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/05/16 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
用php解析html的实现代码
2011/08/08 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
jquery 指南/入门基础
2007/11/30 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
jQuery属性选择器用法实例分析
2019/06/28 jQuery
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
python 测试实现方法
2008/12/24 Python
python 用下标截取字符串的实例
2018/12/25 Python
python实现简单飞行棋
2020/02/06 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
python 生成器需注意的小问题
2020/09/29 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
Linux常见面试题
2016/10/04 面试题
市场营销毕业求职信
2014/08/07 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
工作收入证明模板
2014/10/10 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
《鲸》教学反思
2016/02/23 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书