龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php解析RSS的类实现

时间:2014-06-27 15:16来源:网络整理 作者:网络 点击:
分享到:
php解析RSS的类实现 ```{php}lt;?phperror_reporting(E_ALL); mysql_connect(quot;localhostquot;,quot;rootquot;,quot;rootquot;) or die (mysql_error());mysql_select_db(quot;oopquot;) or die (mysql_error()); class RSS { var $XMLdump; va
<?php
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");

?>
精彩图集

赞助商链接