适用于PHP的体面RSS feed生成器

时间:2009-12-11 13:28:56

标签: php rss

我需要一个RSS Feed生成器;我应该使用课程还是应该自己生成Feed?

如果我自己应该生成它,哪里有一个获得标准综合规范的好地方?

如果没有,是否有任何好的课程可以做到并快速完成并且做得好?

3 个答案:

答案 0 :(得分:19)

PHP Universal Feed Generator (supports RSS 1.0, RSS 2.0 and ATOM)

  

特点:

     
      
  • 生成RSS 1.0,RSS 2.0和ATOM 1.0提要
  •   
  • 所有Feed均由Feed验证程序验证。
  •   
  • 支持所有可能的Feed元素。
  •   
  • 简单明了地定义频道和Feed项目
  •   
  • 为不同版本实现适当的命名空间。
  •   
  • 自动转换日期格式。
  •   
  • 为ATOM Feed生成UUID。
  •   
  • 启用子标签和属性的使用。 (例如:图像和封闭标签)
  •   
  • 完全以PHP5类结构面向对象。
  •   
  • 处理所需标签的CDATA编码。
  •   
  • 用于生成各种Feed的几乎相同的代码
  •   

Examples

答案 1 :(得分:4)

很快会有一个名为Zend_Feed_Writer的Zend Framework组件看起来非常有趣。这是摘自该组件的一个(可能是?)开发人员PadráicBrady(link to the blog post)的摘录。他说它目前在Zend Framework孵化器中,但第一个正式版本应该在周末结束时准备好了:

  

<强> Zend_Feed_Writer

     

块上的新孩子,待补充   在Zend Framework 1.10中,是   Zend_Feed_Writer。有点像年纪大了   Zend_Feed_Builder类,其目的   是生成Atom 1.0和RSS 2.0   饲料。不同之处在于,就像   它的兄弟Zend_Feed_Reader,它是   标准意识到并完全运作   使用PHP的DOM。

     

为什么另一个饲料生成组件?   问题有点类似于   一个Zend_Feed_Reader解决了。   生成RSS和Atom提要是远远不够的   更多参与而不是坚持一堆   元素在一起 - 每个标准都有   它的怪癖,独特的功能和   它自己的一套最佳实践   的标准。运用   Zend_Feed_Builder,你依靠两个   事情 - 重复和验证。   摆脱核心焦点   需要更多的工作,甚至在一定程度上   子类化,你总是在   误解一个人的怜悯   标准。

     

Zend_Feed_Writer建立在简单的基础之上   Zend_Feed_Reader的API(使用setter   而不是吸气剂)和概念   让组件了解   标准(所以你不必)。该   组件分为两个类   types - 要存储的基本数据容器   提供数据并确保其符合   预期的格式和渲染器   实际上生成饲料和   提供有关标准的反馈   坚持。例如,在Atom 1.0中   遗漏的标题将产生   例外 - 标题是   Atom 1.0下的强制性元素   标准。虽然这可能是   事实是,这被解释为令人讨厌的   无效的Atom 1.0 Feed更糟糕   比没用。更好的是你被激怒了   现在,比以后在线时   验证者称你粗鲁的名字: - )。

     

这种方法的最终结果是   你专注于数据,并让   Zend_Feed_Writer担心什么   要使用的元素和属性。它   应该在理论上(总是一个盛大的   事情),是不可能的   Zend_Feed_Writer生成无效   进料。

     

当然,我们也投入了   扩展的概念,如同   Zend_Feed_Reader,允许您添加   支持RSS和Atom扩展   更动态,无需   子类化或API臂扭曲。

     

如果你去寻找   Zend_Feed_Writer,它目前在   孵化器中的块状物。我应该   它完全集成和功能   整个周末。但是你可以给   它是编写Atom 1.0 feed的一个镜头   只要你坚持核心   元素(即大多数博客供稿)。 RSS   2.0支持是我需要完整填写的最后一部分。

答案 2 :(得分:2)

这个页面有一个不错的发电机符合1.0 / 2.0 / ATOM规范,所以你可以使用它(PHP5)或只是大致了解需要:

Php FeedWriter

底部的使用说明非常详细,您甚至无需下载查看来源。