PHP函数strip_tags的一个bug浅析

 更新时间:2014年05月22日 10:56:08   作者:  
PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。

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获取随机数字和字母的方法详解

    本篇文章是对PHP获取随机数字和字母的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP __autoload()方法真的影响性能吗?

    PHP __autoload()方法真的影响性能吗?

    对于php性能问题,议论最多的就是__autoload()方法,很多人提到这个方法非常影响性能。还有人说opcode也能影响到__autoload()方法,所以针对这两点我做了个测试
    2012-03-03
  • PHP基于DOM创建xml文档的方法示例

    PHP基于DOM创建xml文档的方法示例

    这篇文章主要介绍了PHP基于DOM创建xml文档的方法,结合实例形式分析了php使用DOM创建xml格式文件的相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • 批量修改RAR文件注释的php代码

    批量修改RAR文件注释的php代码

    下面的代码就是我通过我的数据库读取出文件路径并最终实现批量修改RAR文件注释的方法.因为数据库是ACCESS,我新建了一个ODBC源.同时RAR.exe及CMD.EXE都在1.PHP同目录下
    2010-11-11
  • PHP设计模式之模板方法模式定义与用法详解

    PHP设计模式之模板方法模式定义与用法详解

    这篇文章主要介绍了PHP设计模式之模板方法模式,结合实例形式详细分析了php设计模式中模板方法模式的概念、原理、定义、用法及相关注意事项,需要的朋友可以参考下
    2018-04-04
  • PHP操作XML中XPath的应用示例

    PHP操作XML中XPath的应用示例

    这篇文章主要介绍了PHP操作XML中XPath的应用,结合实例形式分析了php使用XPath进行xml节点查询的相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • PHP数组内存耗用太多问题的解决方法

    PHP数组内存耗用太多问题的解决方法

    一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。特别是在PHP作为后台服务器的系统中,经常会出现内存耗费太大的问题。
    2010-04-04
  • PHP实现ftp上传文件示例

    PHP实现ftp上传文件示例

    这篇文章主要介绍了PHP实现ftp上传文件的方法,是非常实用的技巧,需要的朋友可以参考下
    2014-08-08
  • php实现网页上一页下一页翻页过程详解

    php实现网页上一页下一页翻页过程详解

    这篇文章主要介绍了php实现网页上一页下一页翻页过程详解,大致功能就是页面只显示几条信息,按上一页、下一页切换内容,当显示第一页时上一页和首页选项不可选,当页面加载到最后一页时下一页和尾页选项不可选,需要的朋友可以参考下
    2019-06-06
  • PHP字符过滤函数去除字符串最后一个逗号(rtrim)

    PHP字符过滤函数去除字符串最后一个逗号(rtrim)

    PHP字符过滤函数去除字符串最后一个逗号,用php自带的函数比较容易解决
    2013-03-03

最新评论