@author songfeng
RSS0.9/1.0/2.0 ATOM 全部是内容聚合的应用,优点一是浏览者可以订阅其网站,能收到最新的网站更新内容.二是有利于搜索引擎抓取.个人感觉缺点是会被其它网站当成复制品,批量 抓取网站更新内容, 但这也许又不是坏事. RSS标准有些乱, 0.9和2.0 与1.0各有其主, ATOM是一个博客网站BLOGGER引入的, 由GOOGLE发扬光大, 但还是遵循RSS2.0的网站较多, 说白了两家只是标 准之争. 用户体验都一样.
Zend_Feed对RSS和ATOM进行了简单封装,实现的功能大致包装指定网站FEED的抓取,XML文件抓取, 字符串抓取, 数组抓取, 生成FEED, 生成并输出FEED.
通用结构如下
当然详细的KEY您就要参考相关手册了,上面的entries其实就是RSS的item.
rss atom 元素名称对比
title title 网站标题
link id 网站地址
description subtitle 网站描述
pubDate updated 网站更新时间
entries内(RSS为Item):
title title 每篇文章标题
link id 每篇文章链接地址
description summary 每篇文章的描述
pubDate updated 每篇文章的发布时间
这是最后的程序代码, 我是放在MODEL里的, 很简易,没怎么构思, 只是基本的思想, 当然我们可以换成更巧妙的方式去实现它, 或者自己手动生成, 只有最基本的功能就是把网站最新的文章前30篇做为FEED
RSS0.9/1.0/2.0 ATOM 全部是内容聚合的应用,优点一是浏览者可以订阅其网站,能收到最新的网站更新内容.二是有利于搜索引擎抓取.个人感觉缺点是会被其它网站当成复制品,批量 抓取网站更新内容, 但这也许又不是坏事. RSS标准有些乱, 0.9和2.0 与1.0各有其主, ATOM是一个博客网站BLOGGER引入的, 由GOOGLE发扬光大, 但还是遵循RSS2.0的网站较多, 说白了两家只是标 准之争. 用户体验都一样.
Zend_Feed对RSS和ATOM进行了简单封装,实现的功能大致包装指定网站FEED的抓取,XML文件抓取, 字符串抓取, 数组抓取, 生成FEED, 生成并输出FEED.
通用结构如下
array('title''description''link''charset''language''entries' => array (array('title''link''description''author''category''pubDate')))
当然详细的KEY您就要参考相关手册了,上面的entries其实就是RSS的item.
rss atom 元素名称对比
title title 网站标题
link id 网站地址
description subtitle 网站描述
pubDate updated 网站更新时间
entries内(RSS为Item):
title title 每篇文章标题
link id 每篇文章链接地址
description summary 每篇文章的描述
pubDate updated 每篇文章的发布时间
这是最后的程序代码, 我是放在MODEL里的, 很简易,没怎么构思, 只是基本的思想, 当然我们可以换成更巧妙的方式去实现它, 或者自己手动生成, 只有最基本的功能就是把网站最新的文章前30篇做为FEED
$sql = 'SELECT archive_id, title, content, author, dateline FROM archives ORDER BY dateline DESC LIMIT 30';$stmt = $this->_db->query($sql);while($row = $stmt->fetch()) {$rssRow['title'] = $row['title'];$rssRow['link'] = 'http://' . $_SERVER['SERVER_NAME'] . '/article-view-' . $row['archive_id'] . '.shtml';$rssRow['description'] = isset($row['content']) ? $row['content'] : '内容为空';$rssRow['author'] = $row['author'];$rssRow['pubDate'] = date('Y年m月d日 H:i', $row['dateline']);$rssDB[] = $rssRow;}$rss['title'] = $setting->setting_web_title;$rss['description'] = $setting->setting_web_title_desc;$rss['link'] = 'http://' . $_SERVER['SERVER_NAME'];$rss['charset'] = 'utf-8';$rss['language'] = 'zh-cn';$rss['entries'] = $rssDB;try {$feed = Zend_Feed::importArray($rss); }catch(Zend_Exception $e) {echo $e->getMessage();exit;}return $feed->saveXml();