加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php 一个完全面向对象的RSS/XML类的简单示例

发布时间:2020-05-25 04:59:06 所属栏目:PHP 来源:互联网
导读:php 一个完全面向对象的RSS/XML类的简单示例

感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编来看看吧。
经测试代码如下:


<?php
/**
 * RSS/XML类
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
error_reporting(E_ALL);

mysql_connect("localhost","root","root") or die (mysql_error());
mysql_select_db("oop") or die (mysql_error());

class RSS {

var $XMLdump;

var $pagetitle;
var $pagelink;
var $pegedescription;
var $pagelanguage;

var $sqlresult;

function setHead($setPagetitle,$setPagelink,$setPegedescription,$setPagelanguage){
$this->pagetitle = $setPagetitle;
$this->pagelink = $setPagelink;
$this->pegedescription = $setPegedescription;
$this->pagelanguage = $setPagelanguage;
}

function getDataFrom($setSQL){
$this->sqlresult = mysql_query($setSQL);
}


function rssHead(){
$this->XMLdump = "<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom/">
<channel>
<title>".$this->pagetitle."</title>
<link>".$this->pagelink."</link>
<description>".$this->pegedescription."</description>
<language>".$this->pagelanguage."</language>
<lastBuildDate>".date("r",time())."</lastBuildDate>n";
}

function rssItems(){
while($bla = mysql_fetch_assoc($this->sqlresult)){
$this->XMLdump .= " <item>n";
$this->XMLdump .= " <title>".$bla['title']."</title>n";
$this->XMLdump .= " <link>http://bestnewssiteever.com/news/".$bla['id']."/</link>n";
$this->XMLdump .= " <category>".$bla['category']."</category>n";
$this->XMLdump .= " <pubDate>".date("r",$bla['pubDate'])."</pubDate>n";
preg_match_all("/^(?:[^.]*.){3}/",$bla['content'],$trimedContent);
$this->XMLdump .= " <description>".$trimedContent[0][0]."..</description>n";
$this->XMLdump .= " </item>n";
}
}

function rssFooter(){
$this->XMLdump .= " </channel>
</rss>";
}

function writeXML(){
$this->rssHead();
$this->rssItems();
$this->rssFooter();
return $this->XMLdump;
}

function saveXML($file){
$fp = fopen($file,"w+");
flock($fp,2);
fwrite($fp,$this->writeXML());
flock($fp,3);
fclose($fp);
}
}

$Bar = new RSS();
$Bar->getDataFrom("SELECT * FROM news ORDER BY pubDate DESC");
$Bar->setHead("TITLE","http://domain.de","DESCRIPTION","en-EN");
$Bar->saveXML("blub.xml");


/*** 来自:脚本之家 jb51.cc(jb51.cc) ***/ 
?>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读