天天观点:thinkphp不过滤html标签怎么办

时间:2022-12-05 09:50:26       来源:PHP中文网

本教程操作环境:Windows7系统、ThinkPHP5版、Dell G3电脑。

thinkphp不过滤html标签怎么办?

TP5 使用strip_tags过滤html标签不起作用的解决方法


(相关资料图)

在ThinkPHP5中使用strip_tags过滤html标签不起作用的解决办法

在文章保存过程中需要获取前端由Uediter编辑器编辑的html内容中的文本,基本思路是使用PHP自带函数strip_tags()直接过滤

于是直接编辑如下:

$data   = $this->request->param();$data["post"]["content"] = strip_tags($data["post"]["post_content"]); echo  $data["post"]["post_content"];echo  $data["post"]["content"];
登录后复制

输出内容如下,strip_tags()函数并没有起到作用:

RWERWERWhgjghhfhgnbfghgh

RWERWERWhgjghhfhgnbfghgh

登录后复制

查看TP5手册-输入变量章节-变量过滤我们可以发现,TP5默认对前端传过来的字符串使用了htmlspecialchars转换为 HTML 实体,因此,我的解决办法是对已经转换的实体进行反转,使用htmlspecialchars_decode()函数即可以实现:

$data   = $this->request->param();$data["post"]["content"] = strip_tags(htmlspecialchars_decode($data["post"]["post_content"])); echo  $data["post"]["post_content"];echo  $data["post"]["content"];
登录后复制

输出如下,转换成功:

RWERWERWhgjghhfhgnbfghgh

RWERWERWhgjghhfhgnbfghgh
登录后复制

推荐学习:《thinkPHP视频教程》

以上就是thinkphp不过滤html标签怎么办的详细内容,更多请关注php中文网其它相关文章!

关键词: 不起作用 相关文章 可以实现