- 浏览: 2016131 次
- 来自: 武汉
文章分类
- 全部博客 (415)
- UI设计 (19)
- PHP (26)
- PHP工具类 (23)
- 二次开发 (53)
- phpMVC (28)
- javascript (50)
- JS 组件 (20)
- MYSQL (37)
- 其他 (16)
- xml/flash/flex (6)
- 版本控制 (7)
- 开源 (4)
- bug解决 (5)
- Linux (15)
- NoSQL (14)
- 软件设计 (21)
- C/PHP内核 (5)
- 安全性 (8)
- 面试 (18)
- 设计模式 (4)
- 重构 (6)
- 开发配置 (11)
- SQL SERVER (12)
- 采集 (3)
- SEO (2)
- 维护 (15)
- UML (5)
- 硬件标准 (1)
- 架构 (8)
- JAVA (1)
最新评论
-
carry0987:
求大神分離下X3的模板...不然對於PHP7不友好啊...
分离自Discuz模板类和语法 -
青木得海角:
你好,里面的 Crypt/TripleDES.php 和 Cr ...
POS机算法 -
zohog:
楼主,Mac.php中里面的 Crypt/TripleDES. ...
POS机算法 -
zohog:
楼主,Mac.php中里面的 Crypt/TripleDES. ...
POS机算法 -
q59200182:
能不能给个完整的demo 新手上路不会 求带
AngularJs 指令directive之controller,link,compile
通用PHP RSS/Feed 生成类库(支持RSS 1.0/2.0和ATOM)
PHP Universal Feed Generator (supports RSS 1.0, RSS 2.0 and ATOM)
可 生成的RSS版本:
- RSS 1.0 (which officially obsoleted RSS 0.90)
- RSS 2.0 (which officially obsoleted RSS 0.91, 0.92, 0.93 and 0.94)
- ATOM 1.0
功能:
- 可生成RSS 1.0, RSS 2.0 和ATOM 1.0 feeds
- 所有生成的Feed可经过验证 feed validator .
- 支 持所有Feed属性.
- 容易的设置channel 和 feed 条目
- 为不同的版本使用命名空间.
- 自 动转换日期格式.
- 为ATOM feeds生成 UUID (通用唯一标识符 Universally Unique Identifier).
- 支持子标签和子标签属性. (如: image 和 encloser tags)
- 完全的 PHP5面向对像构造 class structure.
- 为需要的标签CDATA 编码.
- 使用差不多的代码生成所有 版本的feed
使用范例:
<?php // This is a minimum example of using the class include("FeedWriter.php"); //Creating an instance of FeedWriter class. $TestFeed = new FeedWriter(RSS2); //Setting the channel elements //Use wrapper functions for common channel elements $TestFeed->setTitle('Testing & Checking the RSS writer class'); $TestFeed->setLink('http://www.ajaxray.com/projects/rss'); $TestFeed->setDescription('This is test of creating a RSS 2.0 feed Universal Feed Writer'); //Image title and link must match with the 'title' and 'link' channel elements for valid RSS 2.0 $TestFeed->setImage('Testing the RSS writer class','http://www.ajaxray.com/projects/rss','http://www.rightbrainsolution.com/images/logo.gif'); //Detriving informations from database addin feeds $db->query($query); $result = $db->result; while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { //Create an empty FeedItem $newItem = $TestFeed->createNewItem(); //Add elements to the feed item $newItem->setTitle($row['title']); $newItem->setLink($row['link']); $newItem->setDate($row['create_date']); $newItem->setDescription($row['description']); //Now add the feed item $TestFeed->addItem($newItem); } //OK. Everything is done. Now genarate the feed. $TestFeed->genarateFeed(); ?>
补充:
另一个生成RSS 2.0的PHP Class
下载: class_rss_writer.php
<?php /** * 使用范例: * ============================================================== $feed = new RSS(); $feed->title = "RSS Feed Title"; $feed->link = "http://www.newyork.com/"; $feed->description = "Recent articles on newyork.com."; $db->query($query); $result = $db->result; while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $item = new RSSItem(); $item->title = $title; $item->link = $link; $item->setPubDate($create_date); $item->description = "<![CDATA[ $html ]]>"; $feed->addItem($item); } echo $feed->serve(); * ============================================================== */ class RSS { var $title; var $link; var $description; var $language = "en-us"; var $pubDate; var $items; var $tags; function RSS() { $this->items = array(); $this->tags = array(); } function addItem($item) { $this->items[] = $item; } function setPubDate($when) { if(strtotime($when) == false) $this->pubDate = date("D, d M Y H:i:s ", $when) . "GMT"; else $this->pubDate = date("D, d M Y H:i:s ", strtotime($when)) . "GMT"; } function getPubDate() { if(empty($this->pubDate)) return date("D, d M Y H:i:s ") . "GMT"; else return $this->pubDate; } function addTag($tag, $value) { $this->tags[$tag] = $value; } function out() { $out = $this->header(); $out .= "<channel>\n"; $out .= "<title>" . $this->title . "</title>\n"; $out .= "<link>" . $this->link . "</link>\n"; $out .= "<description>" . $this->description . "</description>\n"; $out .= "<language>" . $this->language . "</language>\n"; $out .= "<pubDate>" . $this->getPubDate() . "</pubDate>\n"; foreach($this->tags as $key => $val) $out .= "<$key>$val</$key>\n"; foreach($this->items as $item) $out .= $item->out(); $out .= "</channel>\n"; $out .= $this->footer(); $out = str_replace("&", "&", $out); return $out; } function serve($contentType = "application/xml") { $xml = $this->out(); header("Content-type: $contentType"); echo $xml; } function header() { $out = '<?xml version="1.0" encoding="utf-8"?>' . "\n"; $out .= '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">' . "\n"; return $out; } function footer() { return '</rss>'; } } class RSSItem { var $title; var $link; var $description; var $pubDate; var $guid; var $tags; var $attachment; var $length; var $mimetype; function RSSItem() { $this->tags = array(); } function setPubDate($when) { if(strtotime($when) == false) $this->pubDate = date("D, d M Y H:i:s ", $when) . "GMT"; else $this->pubDate = date("D, d M Y H:i:s ", strtotime($when)) . "GMT"; } function getPubDate() { if(empty($this->pubDate)) return date("D, d M Y H:i:s ") . "GMT"; else return $this->pubDate; } function addTag($tag, $value) { $this->tags[$tag] = $value; } function out() { $out .= "<item>\n"; $out .= "<title>" . $this->title . "</title>\n"; $out .= "<link>" . $this->link . "</link>\n"; $out .= "<description>" . $this->description . "</description>\n"; $out .= "<pubDate>" . $this->getPubDate() . "</pubDate>\n"; if($this->attachment != "") $out .= "<enclosure url='{$this->attachment}' length='{$this->length}' type='{$this->mimetype}' />"; if(empty($this->guid)) $this->guid = $this->link; $out .= "<guid>" . $this->guid . "</guid>\n"; foreach($this->tags as $key => $val) $out .= "<$key>$val</$key\n>"; $out .= "</item>\n"; return $out; } function enclosure($url, $mimetype, $length) { $this->attachment = $url; $this->mimetype = $mimetype; $this->length = $length; } }
SimplePie是一个非常简单、实用的Syndication数据处理工具包。使用SimplePie ,可以快速的分析阅读RSS或Atom格 式数据。之前接触的更多是MagpieRSS,SimplePie在对RSS或Atom的数据处理能力上毫不逊色于MagpieRSS,同时 SimplePie拥有了比MagpieRSS更多的实用方法和属性,这可以帮助你快速的构建一个RSS阅读器或RSS数据处理模块。
<?php include ('simplepie/simplepie.inc'); $simplepie=new SimplePie(); $simplepie->set_feed_url('http://ggggqqqqihc.yo2.cn/feed'); $simplepie->init(); echo '<h1>'.$simplepie->get_title().'</h1>'; foreach ($simplepie->get_items() as $item){ echo '<h2><a href="'.$item->get_permalink().'">'.$item->get_title().'</a></h2>'; echo '<p>'.$item->get_content().'</p>'; } ?>
获取到数据之后,调用 SimplePie 提供的实用方法,就很容易组装成一个个人的RSS阅读器了。
SimplePie 设计的一个很大的不合理之处是将 items 的排序方法内置在 init 方法中,这样想使用原生数据就需通过其他方式来实现了。
- FeedWriter.zip (7.5 KB)
- 下载次数: 12
发表评论
-
PHP实现Mysql网站安装程序制作
2012-12-19 13:38 1617其实PHP程序的安装原理无非就是将数据库结构和内容导入到相应的 ... -
php接收邮件类
2011-07-18 16:19 7590通过POP3/IMAP / NNTP连接到邮箱,使用PHP ... -
FTP类
2011-07-18 11:32 1851<?php /** * FTP操作类 * @a ... -
php 生成迅雷快车旋风链接
2011-06-21 16:15 1652<?php function zhuanh ... -
PHP 自动加载对象(以MVC框架为例)
2011-06-20 15:07 5265<?php class autoloader { ... -
php 时间日期工具类 星座/干支/生肖
2011-06-17 17:06 2720如果系统没有设置时区,那么获得的结果是UTC时间,相对中国 ... -
比较全面的php session验证码与防识别
2011-05-17 11:40 3278验证码开发过程中的 3 个误区: 1、 背景干扰: ... -
多语言国际化1
2011-02-23 16:36 1689//======================== ... -
PHP读取配置文件类(php,ini,yaml,xml)
2011-02-18 11:27 3975https://github.com/dannyhu926/p ... -
php zip pdf word rar类库
2011-01-28 13:33 1896pdf2swf+flexpaper解决pdf在线阅读(类百度 ... -
php取得客户端信息类
2011-01-28 11:04 1981<?php /** * * 根据sina ... -
php文件目录操作类
2011-01-28 10:56 3601https://github.com/dannyhu926/p ... -
PHP文件下载类
2011-01-27 11:17 1877<?php /** $filename = 'i ... -
gettext库 多语言国际化2
2011-01-25 15:22 2714通常人们写程序时都是将文字写死在程序里的,比如:echo &q ... -
数据库操作类mysql/mysqli/pdo
2011-01-20 18:48 2243PDO,MYSQL,MYSQLI的各自不同介绍,PDO,M ... -
php数组工具类
2010-11-25 09:14 2016数组《=》对象 /* * 数 ... -
PHP mysql数据库读写分离
2010-11-16 19:25 1522MYSQL的读写分离实现有2种思路 MySQL中间件 用 ... -
PHP邮件发送类
2010-06-17 20:25 3976Swift Mailer 和前面介绍的PHPMailer一 ... -
比较全面的php分页导航类
2010-06-11 15:33 2125瀑布流分页:当浏览者浏览了当前页面内容后,向下拉动浏览器滚动 ... -
php汉字换转成拼音
2010-05-25 14:40 1951<?php /** * PHP 汉字转拼音 ...
相关推荐
NULL 博文链接:https://justcoding.iteye.com/blog/655603
出于本人在自己主页上聚合自己在别的网站所建博客等内容的需要,研究搜索...调用XML, 调用RSS , XML TO HTML,RSS TO HTML,FEED TO HTML,XML网页显示,XSL... By 清宇 http://xyz9981.com(被墙了) httP://xyz9981.info
Atom-feedme.js.zip,rss/atom/json提要解析器饲料公司,atom是一个用web技术构建的开源文本编辑器。
Atom-feed2email.zip,邮件中的rss/atom提要更新此项目不再维护!,atom是一个用web技术构建的开源文本编辑器。
发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,是一种描述和同步网站内容的格式。[1] RSS可以是以下三个解释的其中...
Atom-feed2json.zip,将rss/atom提要转换为jsonfeed。反馈2JSON,atom是一个用web技术构建的开源文本编辑器。
针对在3-RSS/S并联机构误差分析中采用全微分方法忽略高次项会使精度下降的问题,提出采用数值分析的方法来研究位姿误差:基于逆向运动学模型,通过不含误差的机构尺寸参数进行逆解计算,得出机构的输入参数;基于正向非...
Atom-Argotic.zip,rss/atom/rsd/opml/apml/blogml/yahoo media/itunes的argotic联合框架的.net标准端口argotic联合框架最初是由brian kuhn在2007年创建的。Argotic是.NET开发人员可用的最强大和可扩展的Web内容联合...
Atom-feed2maildir.zip,Read RSS/Atom feeds in your favourite, maildir-compatible email client.Fiel2Maydir,atom是一个用web技术构建的开源文本编辑器。
开源项目Rss.Net 类库http://www.rssdotnet.com
Atom-feed-validator.zip,基于node.js的简单验证工具,用于rss或atom等提要。支持opensearch.xml验证。基于validator.w3.org/feed饲料验证器,atom是一个用web技术构建的开源文本编辑器。
Informa提供一个基于Java的RSS类库.它支持导出,导入,存储,搜索等
给Zen Cart网店系统生成完善的 RSS Feed 安装说明: ======== 0. 备份! 备份! 备份! 备份! 备份! 备份! 1. 解压并上传所有新文件到商店目录; 2. 管理页面->工具->安装 SQL 脚本,执行 install.sql (不要用...
RSS/Atom解析和显示组件 MWFeedParser ,MWFeedParser 是一个简单易用的 Objective-C 框架用来下载并解析 RSS 和 ...
Atom-node-feedsub.zip,订阅rss/atom/json提要并通知新项。馈送子,atom是一个用web技术构建的开源文本编辑器。
Atom-FeedParser.zip,用于分析rss/atom提要的库,atom是一个用web技术构建的开源文本编辑器。
针对室内可见光定位精度不高的问题,提出了一种基于接收信号强度与到达角度(RSS/AOA)信息混合的室内三维空间定位算法。该算法同时考虑距离信息和角度信息,利用最小二乘准则(LS),建立混合定位优化目标函数,导出...
Atom-picofeed.zip,解析和编写rss/atom提要的php库皮草,atom是一个用web技术构建的开源文本编辑器。
使用此 PHP 脚本,您可以提取:图像、标题、帖子、详细信息……您可以在RSS/Feed文件中找到的所有参考资料。 您只需要知道 RSS/Feed 文件的 url。 设置 global $ text , $ maxchar , $ end ;$ first_img = '' ;$ ...
Atom-discord_feedbot.zip,一种不协调的机器人,它读取rss/atom提要并将它们重复到一个频道中不协调rss机器人,atom是一个用web技术构建的开源文本编辑器。