




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RSS 聚合最近非常流行,因此至少对 RSS 及其工作方式有所了解是一名 PHP 开发人员的迫切需要。本文介绍了 RSS 基础知识、RSS 众多用途中的一些用途、如何使用 PHP 从数据库创建 RSS 提要,以及如何使用 XML_RSS 模块读取现有 RSS 提要并将其转换为 HTML。什么?您没听说过 RSS?RSS 聚合是最常见的 TLA(三字母缩写词)之一。RSS 作为缩写词具有多种含义,但是当前的标准含义是:真正简单的聚合。这是对这一极为常见、极为有用的标准的最新解释。回想 Internet 早期,一个称为 Pointcast 的软件将数据 推送 到用户计算机上的屏幕保护应用程序上,来提供各种新闻更新。最终,浏览器开发商(例如 Netscape 和 Microsoft)创建了类似这种非常流行的服务的东西。Netscape 开发了接受程度最高的变体,此变体后来被发布到 Internet 开发环境中,并最终发展成了现在的 RSS。RSS 将最近更新的信息分发给许多接收者,非常类似广播系统。如果您拥有大量的用户,那么 RSS 提要就像灯塔一样吸引您的用户回来查看更新。因为 RSS 提供了一种急需的维持用户注意力的方法,所以 RSS 越来越流行并为越来越多的内容提供者所使用就没什么好奇怪的了。当您看到图 1 中所示的图标时,您就可以确定此站点提供 RSS 提要。事实上,此图标是表示一个站点针对内容更新提供 RSS 服务的标准图标。图标中的曲线代表无线电波,象征着 RSS 提要的广播本质。图 1. RSS 标准图标回页首RSS 应用程序相当多的应用程序(其中许多是免费的)能够阅读 RSS 提要,其中许多允许用户聚合提要。聚合特性甚至允许用户进一步改进所收到内容的数量和性质。每种阅读器都拥有不同的特性,旨在帮助管理来自 Internet 的难以置信的信息量。Mozilla 公司的 Thunderbird 和 Firefox、Microsoft 公司的 Internet Explorer 7 和即将推出的 Office 版本以及许多其他产品是最接近您的搜索引擎的一些例子。在这么多种获取和阅读提要的方法中,您应该可以找到适合您的方法。当然,除非您是一位眼光挑剔的软件开发人员,希望编写您自己的程序!本文马上就要对此进行介绍!回页首我如何使用 RSS?您的站点包含您希望公布给大众的内容,这是您将内容发布到 Internet 的首要原因。如果很多用户知道您的站点和内容,他们会每天回来查看更新吗?恐怕不会。在您经常访问的站点中,您会每天访问它们来检查更新吗?恐怕不会。这就是 RSS 产生的原因。对于您的用户来说,RSS 可能是一个巨大的获益,当他们认为您的站点上列出的观点或新闻有价值时尤其如此。用户无需频繁返回您的站点,即可准确了解您进行的更新或添加的内容,从而使用户能够节省时间和精力,同时也不会错过任何更新!如果您整合 RSS 提要来支持您自己站点的内容聚合,那么生成内容不是问题。如果您从提要中拉出数据并将其包括在您的站点中,那么只需很少的时间投资就能为您的站点添加大量的内容。我个人喜欢使用 RSS 来收集来自不同站点(例如 Craigslist ())的经过过滤的结果的提要。我使用的一个小技巧是将其用于购买二手电子产品。您可以设置一个站点搜索,然后 RSS 结果页面。如果您设置了一个搜索某个价格范围内的照相机的提要,那么当有人发布在您定的价格范围内的照相机销售信息时,您就会在您的 RSS 提要中看到它!如果您想成为第一个竞价者,这会为您提供巨大的优势!回页首RSS 2.0 标准格式RSS 标准定义和包含提要的内容。这些提要可能来自任何定义为 Internet 文档的数据源,实际上是由链接清单及其描述构成的。请查看清单 1 中的 RSS 格式,它使用了一个来自 NASA Liftoff News 提要的示例文档。清单 1. 一个示例 RSS 2.0 文档 Liftoff News / Liftoff to Space Exploration. en-us Tue, 10 Jun 2003 04:00:00 GMT Tue, 10 Jun 2003 09:41:01 GMT /tech/rss Weblog Editor 2.0 Star City /news/2003/news-starcity.asp How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russias Star City. Tue, 03 Jun 2003 09:39:21 GMT /2003/06/03.html#item573 Space Exploration / Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a partial eclipse of the Sun on Saturday, May 31st. Fri, 30 May 2003 11:06:42 GMT /2003/05/30.html#item572 The Engine That Does More /news/2003/news-VASIMR.asp Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that. Tue, 27 May 2003 08:37:32 GMT /2003/05/27.html#item571 Astronauts Dirty Laundry /news/2003/news-laundry.asp Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options. Tue, 20 May 2003 08:56:02 GMT /2003/05/20.html#item570 XML 格式的文档的第一个子对象是 的定义。通道就是提要自身及其相关信息。许多 RSS 提要具有一个通道对象,但是如果您希望使用任意过滤器分离提要,您就可以使用多个通道。通道对象需要 title、link 和 description 对象。它们定义了提要的基本描述信息。可选对象是:language, copyright、managingEditor, webMaster、pubDate, lastBuildDate、category, generator、docs、cloud、ttl、image、rating、textInput、skipHours 和 skipDays。通道能够包含的项目数量不受限制。ITEM 元素的全部元素都是可选的,然而,至少需要一个标题或描述来验证元素。这些元素是:title、link、description、author、category、comments、enclosure、guide、pubDate和source。回页首在什么地方使用 PHP?本文假设您已经具有一些使用 PHP 的经验,并能够使用函数来传递变量并返回结果。PHP 拥有许多能够迅速处理应用程序内外的 XML 的函数。首先您会希望从本地存储的数据源(一个内容管理系统、博客或任何符合 Internet 文档格式的内容)获取信息,并将其作为提要发布给您的用户。您需要获取此数据、将其格式化为 RSS 对象,然后将其提供给需要它的请求。如果您的站点的某些部分需要额外的内容,您无需满世界地为您的站点寻找额外的内容文档,而是可以利用已经准备好的大量 RSS 提要的优势。您可使用 XML_RSS 来为您的站点获取和处理这些提要。XML_RSS() 是一个 PEAR 软件包,用于帮助您更轻松地完成更复杂的任务 解释 XML RSS 文件。PEAR 是 PHP 函数的开源库,它可免费使用并且其开发工作仍在继续。您可能已经在安装 PHP 时安装了 PEAR,但是您可能仍需为本文安装它(请参阅 参考资料 来获得链接)。XML_RSS() 仅仅是一个函数,它在已知 RSS 提要的位置时,将此提要的 XML 加载到一个阵列,从而为其在您的 PHP 应用程序中的使用做好准备。此阵列的元素将具有根据被读取的 RSS 文件的元素和属性命名的键。回页首提取数据既然您了解了什么是 RSS 数据格式,您就可以查看您希望发布的数据,并将其转换为 RSS 格式。幸好 PHP 拥有一些功能强大的 RSS 和 XML 处理特性,这些特性可加速您的开发。和许多通用的 Web 标准一样,PHP 拥有许多功能强大的函数,可在此应用程序中使用它们。把消息传出去您创建了一个供别人阅读的提要,但是如何让别人知道它的存在呢?您可以通过将以下标签添加到主页顶部的方式,通知 Mozilla Firefox 和 Microsoft Internet Explorer 以及其他阅读器关于您的提要的信息:请确保使用您的 URL 和提要标题更新此标签。在本文中,您将使用 将数据从数据库中拉出,并将其格式化为 RSS 提要。您将对它进行设置,以便无论何时调用此 RSS 提要,它都能查找您的数据集中新增的内容,并为请求者返回新的 RSS。提要可来自您的站点中的任何数据源,但是最终您需要确保其中包含足够的数据,以便接收 RSS 提要的人能够使用此数据。至少需要 URL 名称和描述。您的站点上发布的任何数据均可被转换为提要。您将使用 PHP 来连接 Web 应用程序数据库、拉出更新的信息,并将其格式化为 XML RSS 文档。提取数据的基本函数假设您选择了一个数据库,您用正常方式创建一个连接,并生成一个页面以适合用户阅读的方式显示 XML 的布局。将此页面发送给请求者既然您已经在您自己的代码中很好地格式化了这些数据,您就需要确保正确地发布这些数据,以便当用户将您的 URL 输入阅读器时,能够获得他们需要的 XML RSS 提要。(请参阅清单 2)。清单 2. 完整的 RSS.php?php$database = nameofthedatabase;$dbconnect = mysql_pconnect(localhost, dbuser, dbpassword);mysql_select_db($database, $dbconnect);$query = select link, headline, description from headlines limit 15;$result = mysql_query($query, $dbconnect);while ($line = mysql_fetch_assoc($result) $return = $line; $now = date(D, d M Y H:i:s T);$output = Our Demo RSS /RSS/RSS.php A Test RSS en-us $now $now ; foreach ($return as $line) $output .= .htmlentities($lineheadline). .htmlentities($linelink). .htmlentities(strip_tags($linedescription). ;$output .= ;echo $output;?因此,让我们逐步实现此目的。首先,您设置一个到本地数据库的数据库连接对象。在此数据库中有一个具有包含标题、链接和描述字段的记录的表,您将请求把这些内容放入您的 XML 响应中。您使用 MYSQL_QUERY() 对您的表执行 SQL 查询,然后您使用 WHILE 重新格式化结果来预排将得到的对象,并将数据重新格式化为新的简单阵列。 当新的阵列准备好之后,您就可以开始使用 $output 变量构建 XML 文件,通过为每个返回的响应遍历一次 $line 阵列的方式附加新的元素。这不应该占用太多的时间,因为在您的 SQL 语句中,您将响应限制设为 15。为了将此代码片段用作起始构建块,您需要替换虚拟链接、数据库名称和登录信息来反映您自己的环境。此脚本被执行之后,您会得到一个非常干净的 RSS 文件输出,类似于清单 3。清单 3. RSS.php 输出 Our Demo RSS /RSS/RSS.php A Test RSS en-us Mon, 13 Nov 2006 22:46:06 PST Mon, 13 Nov 2006 22:46:06 PST This is Tracys Web Page! / This is a demonstration of how to get PHP to work for your RSS feed. This is Tracys site again! Again, this is a demonstration of the power of PHP coupled with RSS. 现在任何人都可以通过输入到 RSS.php 的 URL,加载包含您的全部更新的新 RSS 文件了!回页首导入数据您将使用 XML_RSS() 函数将 RSS 提要导入到 PHP 脚本中,以便使其像任何阵列一样准备就绪。就像对数据库的查询一样,您将拥有一个准备好在需要时即可使用的阵列。在本案例中,您将连接到 RSS.php 并加载一个副本,然后在无序清单中显示它(请参阅清单 4)。清单 4. showfeed.phpparse();echo Headlines from Tracy Petersons Siten; echo n;foreach ($rss-getItems() as $item) echo . $itemtitle . n;echo n;?清单 4 中显示的示例直接来自 PEAR 手册,我使用它是因为它非常简练。让我们逐行查看它来看看它是否仅使用了 XML_RSS() 类、构造器和 parse()提供的几个方法。解析操作仅将输出作为我之前提到的阵列呈现。首先,您使用 require_once() 函数来从 PEAR 安装中加载 RSS.php 文件。如果正确设置了 PEAR 并安装了 XML_RSS ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 栲胶干燥工基础知识考核试卷及答案
- 蒸发浓缩结晶工协作考核试卷及答案
- 2025年中国打草绳数据监测报告
- 咖啡常识考试题及答案
- 警犬巡逻考试题及答案
- 离心铸管工内部技能考核试卷及答案
- 园艺产品加工工专业知识考核试卷及答案
- 节能监察考试题及答案
- 教练汽车考试题及答案
- 罐头杀菌工内部技能考核试卷及答案
- 耳鼻喉科眼科门诊临床技术操作规范2022版
- 党章党纪党规知识竞赛案例分析30题(含答案)
- 火力发电厂节水导则DLT783-2023年
- 艾滋病梅毒丙肝检测与解释
- GB/T 22076-2008气动圆柱形快换接头插头连接尺寸、技术要求、应用指南和试验
- GB/T 12325-2008电能质量供电电压偏差
- CJJ28-2014城镇供热管网工程施工及验收规范
- 三字经全文带拼音注释打印版
- 产品技术规格书模板
- 《绿色建筑评价标准》解读
- 小学数学 北师大版 六年级上册 第二单元第1课时《分数混合运算(一)》 课件
评论
0/150
提交评论