这里有新鲜出炉的PHP教程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于web开发领域。PHP的文件后缀名为php。
这篇文章主要介绍了php制作基于xml的RSS订阅源功能,结合实例形式分析了RSS订阅源文件生成类的定义与使用方法,需要的朋友可以参考下
本文实例讲述了php制作基于xml的RSS订阅源功能。分享给大家供大家参考,具体如下:
首先制作一个 RSS 模板,模板的文件名是 feed.xml,代码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/"></rss>
再就是用php文件从数据库读取数据并生成 RSS 文件,这里用一个数组模拟从数据库读取的数据:
- <?php
- class Rss{
- protected $dom = null;
- protected $temp = './feed.xml';
- protected $rss = null;
- protected $title = '';
- protected $desc = '';
- protected $link = '';
- public function __construct(){
- $this->title = '物理学';
- $this->desc = '现代物理学';
- $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'=>'牛顿力学',
- 'link'=>'1',
- 'description'=>'牛顿力学'
- ),
- array(
- 'title'=>'相对论',
- 'link'=>'1',
- 'description'=>'爱因斯坦的相对论'
- )
- );
- $rss = new Rss;
- $rss->feed($arr);
- ?>
最后在火狐下效果:
希望本文所述对大家PHP程序设计有所帮助。
来源: http://www.phperz.com/article/17/0831/340587.html