14.11.4 为今日头条生成rss

原本onemovie.com网站不带有rss功能,只有一个json,还是转码存在一些问题的。

网上找了一些代码,都不够好用,后来发现http://www.phpernote.com/php-function/632.html

代码复用起来很好。

只是原本代码不带图片,为了今日头条那个规范,进行了一些处理。

<?php
include(“rsscr.php”);
header(‘Content-Type:text/html; charset=utf-8′);
$db=mysql_connect(‘127.0.0.1′,’root’,’123456′);
mysql_query(“set names utf8″);
mysql_select_db(‘dbname’,$db);
$brs=mysql_query(‘select * from archives order by id desc limit 0,30′,$db);
$rss=new UniversalFeedCreator();
$rss->title=”万影网”;
$rss->image->url=”http://www.onemovie.com/logo.png”;
$rss->image->title=”万影网”;
$rss->image->link=”http://www.onemovie.com”;
$rss->link=”http://www.onemovie.com”;
$rss->description=”万影网”;
while($rowbrs=mysql_fetch_array($brs)){
$item=new FeedItem();
$item->title =$rowbrs[‘artitle’];
$item->link=’http://www.onemovie.com/archive/info/’.$rowbrs[‘id’];
$item->description =$rowbrs[‘description’];
$item->source=”万影网”;
$item->pubDate=$rowbrs[‘create_time’];
$rss->addItem($item);
}
mysql_close($db);
$rss->saveFeed(“RSS2.0″,”rss.xml”);

?>

 

另外为了配合规范。在那个js文件的421行改了截取标题长度,424行位置加了来源,最后因为时间为了符合rfc2822规范,改了一下。

$feed.= ” <title>”.FeedCreator::iTrunc(htmlspecialchars(strip_tags($this->items[$i]->title)),300).”</title>\n”;
$feed.= ” <link>”.htmlspecialchars($this->items[$i]->link).”</link>\n”;
$feed.= ” <description>”.$this->items[$i]->getDescription().”</description>\n”;
$feed.= ” <source>”.htmlspecialchars($this->items[$i]->source).”</source>\n”;
$feed.= ” <pubDate>”.date(‘D, d M Y H:i:s O’,$this->items[$i]->pubDate).”</pubDate>\n”;

最后总算可用。

找到可复用的代码比我原本想用simplexml生成要简单不少。只是还是需要研究一下那个。复用终究不是自己的啊。

 

此条目发表在php分类目录。将固定链接加入收藏夹。