- 浏览: 13730198 次
- 性别:
- 来自: 洛杉矶
文章分类
- 全部博客 (1994)
- Php / Pear / Mysql / Node.js (378)
- Javascript /Jquery / Bootstrap / Web (435)
- Phone / IOS / Objective-C / Swift (137)
- Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
- Perl / Koha / Ruby / Markdown (8)
- Java / Jsp (12)
- Python 2 / Wxpython (25)
- Codeigniter / CakePHP (32)
- Div / Css / XML / HTML5 (179)
- WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
- Apache / VPN / Software (31)
- AS3.0/2.0 / Flex / Flash (45)
- Smarty (6)
- SEO (24)
- Google / Facebook / Pinterest / SNS (80)
- Tools (22)
最新评论
-
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件 -
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器) -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
I wrote a codeigniter library through which you can retrieve the rss feeds from xml file
Add the below code in Rss.php file and save the file in application library folder ,
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * CodeIgniter * * An open source application development framework for PHP 4.3.2 or newer * * @package CodeIgniter * @author Pradeep Kumar * @copyright Copyright (c) 2009, hyderabad, Inc. * @license http://tech-pundits.com/license.html * @link http://tech-pundits.com * @since Version 1.0 * @filesource */ // ------------------------------------------------------------------------ /** * Rss Class * * @package CodeIgniter * @subpackage Libraries * @category Rss Parser * @author Pradeep Kumar */ class Rss { public $url = ""; // saves the rss feed url private $aFiledata = ""; // saves the file data in array format private $sFiledata = ""; private $item = ""; private $entry = ""; private $title = ""; private $link = ""; private $data = ""; private $description = ""; private $date = ""; private $date_gmt = ""; private $image = ""; private $result; /** * @return unknown */ public function getAFiledata() { return $this->aFiledata; } /** * @return unknown */ public function getEntry() { return $this->entry; } /** * @return unknown */ public function getItem() { return $this->item; } /** * @return unknown */ public function getSFiledata() { return $this->sFiledata; } /** * @return unknown */ public function getTitle() { return $this->title; } /** * @return unknown */ public function getUrl() { return $this->url; } /** * @return unknown */ public function getData() { return $this->data; } /** * @return unknown */ public function getDescription() { return $this->description; } /** * @return unknown */ public function getDate() { return $this->date; } /** * @return unknown */ public function getDate_gmt() { return $this->date_gmt; } /** * @return unknown */ public function getImage() { return $this->image; } /** * @return unknown */ public function getResult() { return $this->result; } /** * @param unknown_type $result */ public function setResult($result) { $this->result = $result; } /** * @param unknown_type $image */ public function setImage($image) { $this->image = $image; } /** * @param unknown_type $date_gmt */ public function setDate_gmt($date_gmt) { $this->date_gmt = $date_gmt; } /** * @return unknown */ public function getLink() { return $this->link; } /** * @param unknown_type $link */ public function setLink($link) { $this->link = $link; } /** * @param unknown_type $date */ public function setDate($date) { $this->date = $date; } /** * @param unknown_type $data */ public function setData($data) { $this->data = $data; } /** * @param unknown_type $description */ public function setDescription($description) { $this->description = $description; } /** * @param unknown_type $aFiledata */ public function setAFiledata($aFiledata) { $this->aFiledata = $aFiledata; } /** * @param unknown_type $Entry */ public function setEntry($entry) { $this->entry = $entry; } /** * @param unknown_type $Item */ public function setItem($item) { $this->item = $item; } /** * @param unknown_type $sFiledata */ public function setSFiledata($sFiledata) { $this->sFiledata = $sFiledata; } /** * @param unknown_type $Title */ public function setTitle($title) { $this->title = $title; } /** * @param unknown_type $Url */ public function setUrl($url) { $this->url = $url; } /** * Constructor * * @access public * @param array initialization parameters */ function Rss($params = array()) { if (count($params) > 0) { $this->initialize($params); } log_message("debug", "Rss Class Initialized"); } // -------------------------------------------------------------------- /** * Initialize Preferences * * @access public * @param array initialization parameters * @return void */ function initialize($params = array()) { if (count($params) > 0) { foreach ($params as $key => $val) { if (isset($this->$key)) { $this->$key = $val; } } } } function getRss() { return $this->run(); } function run() { $this->setAFiledata(file($this->getUrl())); $this->setSFiledata(implode("", $this->getAFiledata())); $this->setSFiledata(str_replace(array ("\r\n", "\r"), "\n", $this->getSFiledata())); preg_match_all("|<item[^>]*>(.*?)</item>|is", $this->getSFiledata(), $this->item); $items = $this->getItem(); $this->setItem($items[0]); $this->setData("<table>"); $this->result = array(); if(empty($this->item)) { preg_match_all("|<entry[^>]*>(.*?)</entry>|is", $this->getSFiledata(), $this->item); $items = $this->getItem(); $this->setItem($items[0]); $this->setData("<table>"); $this->result = array(); } foreach ($this->getItem() as $item) { preg_match("|<title[^>]*>(.*?)</title>|is", $item, $this->title); $this->setTitle(strip_tags(str_replace(array("<![CDATA[', ']]>"), array("",""), trim($this->title[1])))); preg_match("|<pubdate[^>]*>(.*?)</pubdate>|is", $item, $this->date_gmt); if ($this->date_gmt) { $this->setDate_gmt(strtotime($this->date_gmt[1])); } else { preg_match("|<dc:date[^>]*>(.*?)</dc:date>|is", $item, $this->date_gmt); if(isset($this->date_gmt[1])) { $this->setDate_gmt(preg_replace("|([-+])([0-9]+):([0-9]+)$|", "\1\2\3", $this->date_gmt[1])); $this->setDate_gmt(str_replace("T", " ", $this->date_gmt)); $this->setDate_gmt(strtotime($this->date_gmt)); } } if($this->getDate_gmt()) { $this->setDate_gmt(gmdate("Y-m-d H:i:s", $this->getDate_gmt())); $this->setDate($this->getDate_gmt()); $this->getDate(); } preg_match('|<media:content url="(.*?)" />|is', $item, $this->image); preg_match("|<media:text[^>]*>(.*?)</media:text>|is", $item, $this->image); $sarr = array("&nbsp;","#60;",">","<"); $repl = array("","<",">","<"); if(isset($this->image[1])) { $this->image = str_replace($sarr,$repl,$this->image[1]); preg_match('|<img[^>]*src="(.*?)"[^>]*/>|is', $this->image, $this->image); $this->setImage($this->image[1]); } else $this->image = ""; preg_match("|<description[^>]*>(.*?)</description>|is", $item, $this->description); if($this->getDescription()) { $this->setDescription(str_replace(array("<![CDATA[', ']]>"), "", trim($this->description[1]))); $this->setDescription(str_replace($sarr,$repl,$this->description)); } else { preg_match("|<summary[^>]*>(.*?)</summary>|is", $item, $this->description); if($this->getDescription()) { $this->setDescription(str_replace(array("<![CDATA[', ']]>"), "", trim($this->description[1]))); $this->setDescription(str_replace($sarr,$repl,$this->description)); } else $this->setDescription(""); } preg_match("|<link[^>]*>(.*?)</link>|is", $item, $this->link); if(!empty($this->link)) { if(eregi("<media",$this->link[1])) { $img =""; preg_match("|<media:thumbnail[^>]*>(.*?)</media:thumbnail>|is", $item, $img); preg_match('|<link rel="alternate"[^>]* href="(.*?)">|is', $item, $this->link); $this->setDescription($img[1].$this->getDescription()); } $this->setLink(str_replace(array("<![CDATA[', ']]>",'"/>'), "", trim(strip_tags($this->link[1])))); $this->link; } else { preg_match('|<link rel="alternate"[^>]* href="(.*?)"/>|is', $item, $this->link); $this->setLink(str_replace(array('<![CDATA[', ']]>','"/>'), '', trim(strip_tags($this->link[1])))); $this->link; } $this->data .= '<tr><td> <a title="'.strip_tags($this->getDescription()).'" href="'.$this->getLink().'">'.$this->getTitle().'</a></td><td>'.$this->getDate().'</td></tr>'; $this->result[] = array( "title" => $this->getTitle(), "link" => $this->getLink(), "date" => $this->getDate(), "image" => $this->getImage(), "description" => $this->getDescription(), ); } $this->data .="</table>"; return $this->getResult(); } }
Add the below code in your controller
<?php $this->load->libarary("rss"); $config["utl"]="rsslink"; $this->rss->initialize($config); $result = $this->rss->getRss(); print_r($result); ?>
Click download code
- rss.zip (2.5 KB)
- 下载次数: 31
发表评论
-
CakePHP你必须知道的21条技巧
2012-10-19 06:25 1882原文链接:http://www.avatarfinancial ... -
cakephp 1.3 Views
2012-10-09 06:12 1442Section 1 Views 视图 一个vie ... -
cakephp 1.3 Models
2012-10-09 06:07 2501Section 1 What is a model? ... -
cakephp 1.3 Controller
2012-10-09 05:49 3333Controller 一个controller用于管理 ... -
cakephp 1.3 配置CakePHP
2012-10-09 05:31 4644Section 1 数据库配置 app/config/ ... -
CakePHP 2.x十分钟博客教程
2012-10-07 01:27 244121. CakePHP2十分钟博客教 ... -
Create an Admin panel with CodeIgniter
2010-05-23 02:15 4175Create an Admin panel with Code ... -
Codeigniter Grid 使用方法 (flexigrid)
2010-05-23 02:05 2803来源:http://codeigniter.com/forum ... -
CI集成 ckeditor 配置
2010-05-23 01:34 3752配置 ckeditor 1.上传 下载 ckedito ... -
codeigniter 辅助函数 - 敏感词过滤
2010-05-05 06:18 4574我们都知道有些敏感的词汇是不适合出现在互联网上的,特别是在有用 ... -
实现简单 codeigniter 缓存 (cache)
2010-04-30 23:47 5278代码 class Test extends Contr ... -
CKEditor Helper for CodeIgniter
2010-04-19 00:37 3975Using CKEditor as a plugin in y ... -
codeigniter 生成 excel
2010-04-19 00:33 3322Excel Plugin Th ... -
CakePHP 中文手册
2010-04-14 21:04 2335基本概念 Section1 简介 ... -
利用 Cache_Lite代替codeigniter中的cache功能
2010-01-29 06:15 5508codeigniter的功能纵然强大,也有不足之处。其cach ... -
CodeIgniter 操作PDF ( Generating PDF files using CodeIgniter )
2010-01-03 04:03 3607PDF files rock! Some of the p ... -
CodeIgniter 合作 Authorize.net
2009-12-30 00:25 1611function payment(){ // 略... ... -
CodeIgniter 合作paypal
2009-12-30 00:15 2349<?php class Paypal extend ... -
CodeIgniter 操作 CSV
2009-12-29 07:17 4631A Comma separated values (CSV) ... -
codeigniter操作xml
2009-12-29 06:57 3992This Simplexml class provides a ...
相关推荐
CodeIgniter的安装过程非常简单,只需要按照以下步骤操作: 1. 从官方网站下载最新版本的CodeIgniter。 2. 解压缩下载的文件夹。 3. 将所有文件和文件夹上传到服务器。 4. 通过浏览器访问服务器的URL(例如***)...
因此,如果需要在同一个页面上显示多个视图,就不能在控制器方法中使用 `return` 关键字返回视图,因为这样做会导致第一个视图加载之后,其内容被输出,并且方法立即结束,后续的视图加载操作都不会执行。...
这个项目涉及的主要技术包括XML解析(处理RSS馈送)、PHP的DOMDocument类用于解析和操作XML数据,以及可能的AJAX技术实现页面无刷新更新。 2. **博客系统**:博客系统是一个在线发布和分享文章的平台。它通常包括...
- SimplePie:处理RSS和Atom feeds的PHP库。 - HTML Purifier:清除XSS攻击,确保HTML内容符合W3C标准。 - TCPDF:生成PDF文件的PHP库。 - htmlSQL:使用SQL查询HTML和XML内容的PHP类。 - The Greatest ...
- Model:RSSFeedModel,处理RSS订阅源的解析和存储。 - View:FeedListView,显示订阅源的文章列表。 - Controller:FeedController,接收用户请求,如加载新的订阅源,或者更新已有的订阅源。 在实际开发中,...
"今日新闻"则需要实时更新,可能需要对接新闻API,如RSS订阅或新闻服务商提供的接口。"小常识"可以是历史趣闻或知识点,同样需要定期更新。 2. **历史分类**: 这个模块展示了历史信息的列表,以及详细的历史事件...
此外,还有RSS(Really Simple Syndication)用于内容聚合,以及APIs(应用程序接口)允许不同服务之间的数据交换。 3. **PHP与数据库交互**:在Web 2.0应用中,数据存储和检索通常是关键。PHP支持多种数据库系统,...
4. **Web开发框架**:虽然没有直接提到,但PHP通常会配合Web开发框架如Laravel、Symfony或CodeIgniter来提高开发效率和代码质量。这些框架提供了模板引擎、ORM(对象关系映射)、路由等工具,简化了Web应用的构建。 ...
- **phpMyAdmin**:MySQL数据库管理和操作平台。 - **PHPExcel**:生成MS Office Excel文档的库。 - **Phormer**:轻量级PHP在线相册。 - **xajax PHP Class Library**:创建Ajax应用程序的库。 - **...
- **SimplePie**: 解析RSS和Atom feeds的PHP库。 - **HTMLPurifier**: 清理和验证HTML,防止XSS攻击。 - **TCPDF**: 快速生成PDF的PHP5库。 - **htmlSQL**: 使用SQL查询HTML和XML内容的PHP类。 - **The ...