码迷,mamicode.com
首页 > 数据库 > 详细

thinkphp从数据库里的html代码显示页面不解析

时间:2016-08-21 10:51:58      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

  首先,这个问题不应该出现在这里,因为以前在用ThinkPHP3.1.2的时候,利用富文本编辑器保存文本后,直接从数据库里面取出的数据都能正常显示,改用ThinkPHP3.2.3之后,thinkphp从数据库里的html代码显示页面不解析,直接显示源代码了,这个问题其实很简单,只是当时很着急,没有想到。

  一般出现问题之后,要从源头开始思考,找原因,不是立即百度或Google。今早起来的时候想了一下,所有的数据文件都是从我的数据库里面显示出来的,问题应该就出现在数据的获取和数据的展示途中。果然,打开数据库看存储在里面的文本时,他是这个样的:

技术分享我们发现一些 特殊的符号 < > ‘ ‘等都被编码转化了,不是以前的直接存储的标签,所以现在有两种解决方案,一是在获取的时候对数据库的文件进行转码,而二是在入库的时候进行转换,利用htmlspecialchars_decode()函数。个人倾向使用第二种,一切问题在源头解决。

    $m = M(Txt);
        $res = $m->create();
        $content = I(post.txt_content);
        $m->txt_content = htmlspecialchars_decode($content);//在入库的时候对文章内容进行编码
        $m->txt_img = $info[file][savename];
        //获取服务器本地的时间(中国)
        date_default_timezone_set(PRC);
        $time = date("Y-m-d H:i:s");
        $m->txt_time = $time;//附加上创建时间
        $idNum = $m->add();

再次插入的时候,在数据库中看到的就是这样的啦,

技术分享

 

 搞定

 

thinkphp从数据库里的html代码显示页面不解析

标签:

原文地址:http://www.cnblogs.com/xs-yqz/p/5792164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!