Rss 訂閱:php動態生成xml格式的rss文件


Rss 簡介:         

    簡易信息聚合(也 叫聚合內容)是一種描述和同步網站內容的格式。使用RSS訂閱能更快地獲取信息,網站提供RSS輸出,有利於讓用戶獲取網站內容的最新更新。網絡用戶可以在客戶端借助於支持RSS的聚合工具軟件,在不打開網站內容頁面的情況下閱讀支持RSS輸出的網站內容。

    Rss是用xml文件寫的。

 

Rss 文件格式規范:

<?xml version="1.0" encoding="utf-8"?>  
<rss version="2.0">
<channel>
    <title>媒體名稱/定義網站頻道名稱</title>
    <description>媒體名稱/定義網站頻道介紹</description>
    <link>網站頻道地址</link>
    <generator>生成RSS所用的程序</generator>
    <image>
        <url>LOGO圖片地址(絕對地址)</url>
        <title>圖片替代文字</title>
        <link>網站首頁地址</link> // 網站首頁地址
    </image>

    <item>
        <title><![CDATA[ 文章標題 ]]></title>
        <link>文章URL地址(絕對地址)</link>
        <description><![CDATA[ 摘要/全文 ]]></description>

        <source>來源名稱</source>

        <pubDate>Mon, 07 Jul 2014 13:42:28 +0800</pubDate> // 最后發布時間
    </item>

</channel>

</rss>

 

Rss生成:

    Rss是用xml寫的,手動寫xml太麻煩,可以通過php動態生成。

 

方法一:  

    php文件按照rss格式生成xml格式的內容,中間的<item>內容通過循環生成,最終把結果直接輸出即可。                 

文件:rssCreate.php

    //xxx.xml 文件頭部
    $rss_xml = '<?xml version="1.0" encoding="utf-8"?>
            <rss version="2.0">
            <channel>
            <title>XXXXX</title>
            <description></description>
            <link>http://www.ileehoo.com</link>
            <generator>http://www.ileehoo.com</generator>';

    //查詢前100條的文章
    $list_arr = "通過查詢數據庫,得到文章列表的數組";

 

    //xxx.xml 文件主體(循環得到)
    foreach( $list_arr as $k => $v ) {
        $rss_xml .= "<item>
                <title><![CDATA[ XXXXXX ]]></title>";
                <link>XXXX</link>

                <source>XXXXX</source>
                <pubDate>XXXXXX</pubDate>
                </item>";
    }

    //xxx.xml 文件尾部
    $rss_xml .= '</channel></rss>';
    echo $rss_xml;

 

方法二:

    生成xml內容,寫入xml文件,如rss.xml

    見:http://blog.sina.com.cn/s/blog_483a76360100fof9.html

 

注意:

1:注意:<?xml version="1.0" encoding="utf-8"?>之前不能有任何輸出。

2:<link>鏈接中不能出現&符號。

3:要注意<pubDate>標簽的時間格式,如:Mon, 07 Jul 2014 13:42:28 +0800  

    貌似這樣也可以:d m Y H:i:s 

4:方法1直接echo輸出,可以通過火狐瀏覽器測試。如果生成的xml格式正確,可以顯示或彈出訂閱窗口。

   但是用其他瀏覽器不能實現這一種效果,不知為什么,可能是不支持吧。

  

或:

 

內容參考:

http://blog.sina.com.cn/s/blog_483a76360100fof9.html

http://www.w3school.com.cn/rss/index.asp

http://www.williamlong.info/archives/824.html

http://mp.toutiao.com/rss_guideline/

http://web.toutiao.com/a3354328022/?id=3368086883&tt_from=sina   

http://web.toutiao.com/media_cooperation/#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM