PHP函数strip_tags的一个bug浅析


Posted in PHP onMay 22, 2014

PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。

由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。

比如下述代码:

<div>string</div>string<string<b>hello</b><div>string</div>

通过 strip_tags($str, ‘<div>') 过滤,我们可能期望得到如下结果:

<div>string</div>string<stringhello<div>string</div>

而实际操作结果是这样的:

<div>string</div>string

这一切都是因为加红的那个左尖括号,查了 PHP 的文档,有一个警告提示:

由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。

既然在执行过滤前无法验证代码正确性,遇到和标签相关的字符 “<” 或 “>” 后面的代码就全挂了!

PHP 相关文章推荐
php 生成静态页面的办法与实现代码详细版
Feb 15 PHP
php 读取shell管道传输过来的内容
Mar 01 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
PHP中的Streams详细介绍
Nov 12 PHP
Yii学习总结之安装配置
Feb 22 PHP
PHP访问Google Search API的方法
Mar 05 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
php遍历解析xml字符串的方法
May 05 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 #PHP
PHP+memcache实现消息队列案例分享
May 21 #PHP
php+highchats生成动态统计图
May 21 #PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 #PHP
Smarty模板学习笔记之Smarty简介
May 20 #PHP
php实例分享之mysql数据备份
May 19 #PHP
dedecms函数分享之获取某一栏目所有子栏目
May 19 #PHP
You might like
国内咖啡文化
2021/03/03 咖啡文化
用PHP生成自己的LOG文件
2006/10/09 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
PHP实现货币换算的方法
2014/11/29 PHP
php简单截取字符串代码示例
2016/10/19 PHP
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
总结Python中逻辑运算符的使用
2015/05/13 Python
Python2.x与Python3.x的区别
2016/01/14 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python魔法方法功能与用法简介
2019/04/04 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python中time库的实例使用方法
2019/10/31 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
学徒工职责
2014/03/06 职场文书
论文评语大全
2014/04/29 职场文书
认错检讨书
2014/10/02 职场文书
租房协议书范例
2014/10/14 职场文书
2015大学迎新标语
2015/07/16 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery