thinkphp不过滤html标签如何解决

这篇文章主要介绍“thinkphp不过滤html标签如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“thinkphp不过滤html标签如何解决”文章能帮助大家解决问题。

创新互联是一家专业提供武进企业网站建设,专注与网站设计、网站建设H5网站设计、小程序制作等业务。10年已为武进众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

thinkphp不过滤html标签的解决办法:1、打开相应的tp文件;2、通过“strip_tags(htmlspecialchars_decode($data['post']['post_content']));”方法对已经转换的实体进行反转即可。

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不过滤html标签如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


新闻名称:thinkphp不过滤html标签如何解决
文章地址:http://scyanting.com/article/jjjiec.html