详解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 相关文章推荐
第四节--构造函数和析构函数
Nov 16 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 PHP
CI框架学习笔记(二) -入口文件index.php
Oct 27 PHP
PHP将HTML转换成文本的实现代码
Jan 21 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
Zend Framework入门应用实例详解
Dec 11 PHP
利用laravel搭建一个迷你博客实战教程
Aug 13 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
PHP反射原理与用法深入分析
Sep 28 PHP
swoole锁的机制代码实例讲解
Mar 04 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
如何利用http协议发布博客园博文评论
2015/08/03 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
HTML中不支持静态Expando的元素的问题
2007/03/08 Javascript
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
页面中js执行顺序
2009/11/09 Javascript
Js 中debug方式
2010/02/07 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
2013/01/17 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
JavaScript显示表单内元素数量的方法
2015/04/02 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
如何用python写个模板引擎
2021/01/14 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
企业管理毕业生求职信范文
2014/03/07 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
园林系毕业生求职信
2014/06/23 职场文书
高一军训口号
2015/12/25 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
解析原生JS getComputedStyle
2021/05/25 Javascript