php制作基于xml的RSS訂閱源功能示例
本文實(shí)例講述了php制作基于xml的RSS訂閱源功能。分享給大家供大家參考,具體如下:
首先制作一個(gè) RSS 模板,模板的文件名是 feed.xml,代碼如下:
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/"></rss>
再就是用php文件從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)并生成 RSS 文件,這里用一個(gè)數(shù)組模擬從數(shù)據(jù)庫(kù)讀取的數(shù)據(jù):
<?php class Rss{ protected $dom = null; protected $temp = './feed.xml'; protected $rss = null; protected $title = ''; protected $desc = ''; protected $link = ''; public function __construct(){ $this->title = '物理學(xué)'; $this->desc = '現(xiàn)代物理學(xué)'; $this->link = 'http://mysql/rss.php'; $this->dom = new DOMDocument('1.0','utf-8'); $this->dom->load($this->temp); $this->rss = $this->dom->getElementsByTagName('rss')->item(0); } public function feed($arr){ $this->createChannel(); $channel = $this->dom->getElementsByTagName('channel')->item(0); foreach ($arr as $v){ $channel->appendChild($this->createItem($v)); } header('content-type:text/xml'); echo $this->dom->savexml(); } protected function createChannel(){ $channel = $this->dom->createElement('channel'); $channel->appendChild($this->createEle('title',$this->title)); $channel->appendChild($this->createEle('link',$this->link)); $channel->appendChild($this->createEle('description',$this->desc)); $this->rss->appendChild($channel); } protected function createItem($arr){ $item = $this->dom->createElement('item'); foreach($arr as $k => $v){ $item->appendChild($this->createEle($k,$v)); } return $item; } protected function createEle($name,$value){ $e=$this->dom->createElement($name); $t=$this->dom->createTextNode($value); $e->appendChild($t); return $e; } } $arr = array( array( 'title'=>'牛頓力學(xué)', 'link'=>'1', 'description'=>'牛頓力學(xué)' ), array( 'title'=>'相對(duì)論', 'link'=>'1', 'description'=>'愛因斯坦的相對(duì)論' ) ); $rss = new Rss; $rss->feed($arr); ?>
最后在火狐下效果:
PS:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP針對(duì)XML文件操作技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語(yǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php實(shí)現(xiàn)XML和數(shù)組的相互轉(zhuǎn)化功能示例
- PHP使用DOM和simplexml讀取xml文檔的方法示例
- PHP基于DOM創(chuàng)建xml文檔的方法示例
- PHP輸出XML格式數(shù)據(jù)的方法總結(jié)
- php基于dom實(shí)現(xiàn)讀取圖書xml格式數(shù)據(jù)的方法
- php基于dom實(shí)現(xiàn)的圖書xml格式數(shù)據(jù)示例
- php實(shí)現(xiàn)xml轉(zhuǎn)換數(shù)組的方法示例
- PHP實(shí)現(xiàn)的XML操作類【XML Library】
- PHP數(shù)組生成XML格式數(shù)據(jù)的封裝類實(shí)例
- PHP對(duì)XML內(nèi)容進(jìn)行修改和刪除實(shí)例代碼
- php實(shí)現(xiàn)的XML操作(讀取)封裝類完整實(shí)例
相關(guān)文章
php計(jì)算給定日期所在周的開始日期和結(jié)束日期示例
這篇文章主要介紹了php計(jì)算給定日期所在周的開始日期和結(jié)束日期,涉及php日期與時(shí)間相關(guān)運(yùn)算與轉(zhuǎn)換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02PHP判斷一個(gè)gif圖片是否為動(dòng)態(tài)圖片的方法
這篇文章主要介紹了PHP判斷一個(gè)gif圖片是否為動(dòng)態(tài)圖片的方法,涉及針對(duì)圖片字節(jié)流中包含數(shù)據(jù)字段的判斷,具有不錯(cuò)的實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11使用Huagepage和PGO來(lái)提升PHP7的執(zhí)行性能
這篇文章主要介紹了使用Huagepage和PGO來(lái)提升PHP7的執(zhí)行性能的相關(guān)方案,來(lái)自于注明的PHP開發(fā)組成員Laruence的相關(guān)研究,需要的朋友可以參考下2015-11-11PHP 中關(guān)于ord($str)>0x80的詳細(xì)說(shuō)明
為了識(shí)別雙字節(jié)的字符,比如漢字或日文韓文等都是占兩字節(jié)的,每字節(jié)高位為1,而一般西文字符只有一個(gè)字節(jié),七位有效編碼,高位為0而0x80對(duì)應(yīng)的二進(jìn)制代碼為1000 0000,最高位為一,代表漢字.漢字編碼格式通稱為10格式. 一個(gè)漢字占2字節(jié),但只代表一個(gè)字符2012-09-09