嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2014-04-02 2572 次浏览 标签 : ZzBlog

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

用火狐浏览器查看的时候发现pubDate还必须得用这个格式的时间才能显示

Date('r',time())

XML里面的纯文本格式的内容我用[CDATA[%s]]来写,但是在chrome里面,[CDATA[%s]]都直接显示出来了,不过我用RSS订阅器和QQ邮箱等测试均显示正常。

class FeedAction extends BaseAction {

    protected $rss_header  = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">
    <channel>
        <title>圈课网 | 关注互联网在线教育</title>
        <link>http://www.quankr.com/</link>
        <pubDate>%s</pubDate>
        <atom:link href=\"http://www.quankr.com/feed\" rel=\"self\" type=\"application/rss+xml\"/>
        <description>圈课网 | 最新文章</description>
        <language>en-us</language>\r\n";

    protected $rss_content = "        <item>
            <title>%s</title>
            <description><![CDATA[%s]]></description>
            <author>%s</author>
            <pubDate>%s</pubDate>
            <link>%s</link>
        </item>\r\n";

    protected $rss_footer  = "    </channel>
</rss>";

    public function index(){
        $this->rss_header = sprintf($this->rss_header,Date('r',time()));
        $content = $this->getContent();
        header("Content-Type: text/xml; charset=utf-8");
        echo $this->rss_header.$content.$this->rss_footer;
    }
    protected function getContent(){
        $content = '';
        $articles = D('article')->where('status = 99')->field('id, title, member_id, inputtime')->order('id desc')->limit(15)->select();
        foreach($articles as $k=>$v){
            $content .= sprintf(
                $this->rss_content,
                htmlspecialchars_decode($v['title'],ENT_QUOTES),
                htmlspecialchars_decode(get_article_content($v['id']),ENT_QUOTES),
                get_user_name($v['member_id']),
                Date('r',$v['inputtime']),
                'http://www.quankr.com'.U('Content/Index/shows',array('id'=>$v['id']))
            );
        }
        return $content;
    }

}

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表