设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
PHP函数strip_tags的一个bug浅析
返回列表
查看:
1012
|
回复:
0
PHP函数strip_tags的一个bug浅析
[复制链接]
bewin83
当前离线
积分
7520
2500
主题
2513
帖子
7520
积分
论坛元老
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
论坛元老, 积分 7520, 距离下一级还需 9992479 积分
积分
7520
发消息
电梯直达
楼主
发表于 2018-2-14 05:58:11
|
只看该作者
|
倒序浏览
|
阅读模式
PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。
由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。
比如下述代码:
[U]复制代码[/U] 代码如下:
stringstringstring
hello
string
通过 strip_tags($str, ‘') 过滤,我们可能期望得到如下结果:
[U]复制代码[/U] 代码如下:
stringstringstringhellostring
而实际操作结果是这样的:
[U]复制代码[/U] 代码如下:
stringstring
这一切都是因为加红的那个左尖括号,查了 PHP 的文档,有一个警告提示:
由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。
既然在执行过滤前无法验证代码正确性,遇到和标签相关的字符 “” 后面的代码就全挂了!
您可能感兴趣的文章:
php 去除html标记--strip_tags与htmlspecialchars的区别详解
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
PHP关于htmlspecialchars、strip_tags、addslashes的解释
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
PHP strip_tags保留多个HTML标签的方法
php使用strip_tags()去除html标签仍有空白的解决方法
详解PHP函数 strip_tags 处理字符串缺陷bug
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端