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使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法

    PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法

    这篇文章主要介绍了PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法,实例分析了php中gmdate函数的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 生成php程序的php代码

    生成php程序的php代码

    前台程序不少情况下需要生成.php文件,诸如多用户的在线日记程序、留言簿以及自助网站程序等等,都不可避免地在与用户的交互中生成.php程序文件。一般的,所生成的.php文件内容并不复杂,但麻雀虽小五脏俱全,完整的.php文件结构必须得到保证。
    2008-04-04
  • 数据库中排序的对比及使用条件详解

    数据库中排序的对比及使用条件详解

    PHP与MySQL数据库中排序的对比及使用条件是本文我们主要要介绍的内容,通常来说,执行效率需要考虑CPU、内存和硬盘等的负载情况
    2012-02-02
  • PHP实现添加图片水印的示例代码

    PHP实现添加图片水印的示例代码

    这篇文章主要为大家详细介绍了如何使用PHP实现添加图片水印并根据比例计算水印的新尺寸,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-11-11
  • php foreach如何跳出两层循环(详解)

    php foreach如何跳出两层循环(详解)

    下面小编就为大家带来一篇php foreach如何跳出两层循环(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 再谈PHP错误与异常处理

    再谈PHP错误与异常处理

    这篇文章主要介绍了再谈PHP错误与异常处理,对错误和异常感兴趣的同学,可以参考下
    2021-04-04
  • 浅谈php中fopen不能创建中文文件名文件的问题

    浅谈php中fopen不能创建中文文件名文件的问题

    下面小编就为大家带来一篇浅谈php中fopen不能创建中文文件名文件的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • PHP实现简单ajax Loading加载功能示例

    PHP实现简单ajax Loading加载功能示例

    这篇文章主要介绍了PHP实现简单ajax Loading加载功能的方法,结合实例形式分析了ajax加载的原理、操作技巧与相关注意事项,需要的朋友可以参考下
    2016-12-12
  • PHP代码重构方法漫谈

    PHP代码重构方法漫谈

    这篇文章主要介绍了PHP代码重构方法,结合实例形式较为详细的分析了php代码重构的概念、原理、相关实现技巧与注意事项,需要的朋友可以参考下
    2018-04-04
  • php获取数组中重复数据的两种方法

    php获取数组中重复数据的两种方法

    两天前,需要用到找出php数组中的重复数据,总结了两种方法,在这里跟大家共享一下,需要的朋友可以参考下
    2013-06-06

最新评论