- 相關(guān)推薦
在PHP中使用RSS技術(shù)的方法
RSS(簡易信息聚合,也叫聚合內(nèi)容)是一種描述和同步網(wǎng)站內(nèi)容的格式,簡單地說就是用于在網(wǎng)站間分享信息。下面是百分網(wǎng)小編收集整理的在PHP中使用RSS技術(shù)的方法,希望對您有所幫助!
1 RSS 語法
RSS (簡易信息聚合, 也叫聚合內(nèi)容) 是一種描述和同步網(wǎng)站內(nèi)容的格式, 簡單地說就是用于在網(wǎng)站間分享信息。RSS 目前廣泛 用于網(wǎng)上新聞頻道、 及 wiki 等。使用 RSS 訂閱能更快地獲取信息, blog 網(wǎng)站提供 RSS 輸出, 有利于讓用戶獲取網(wǎng)站內(nèi)容的最新更 新。網(wǎng)絡(luò)用戶可以在客戶端借助于支持 RSS 的聚合工具軟件, 在不打開網(wǎng)站內(nèi)容頁面的情況下閱讀支持 RSS 輸出的網(wǎng)站內(nèi)容。[1] RSS 文檔使用一種簡單的自我描述的語法, 下面的代碼段( example.xml ) 構(gòu)成了一個簡單的 RSS 文檔: <?xml version="1.0" encoding="ISO-8859-1" ?> <rss version="2.0"> <channel> <title>Home Page</title> <link>http://www.bsnc.cn</link> <description>A University Located IN Yunnan Province</description> <item> <title>The Institute of Physics </title> <link>http:// www.bsnc.cn /rss</link> <description>New RSS FROM BSNC</description> </item> </channel> </rss> 代碼清單中的第一行: XML 聲 明, 用 于 定 義 文 檔 中 使 用 的 XML 版 本 和 字 符 編 碼 。 該 例 子 遵 守 XML 1.0 規(guī) 范 , 使 用 并 ISO-8859-1 (Latin-1/West European) 字符集。下一行是標識此文檔是一個 RSS 文檔的 RSS 聲明 (這里是 RSS version 2.0) 。下一行 含有 <channel> 元素, 此元素用于描述 RSS feed。 <channel> 元素有三個必需的子元素: <title> - 定義頻道的標題。 (比如 Home Page) <link> - 定義到達頻道的超鏈接。 (比如 http://www.bsnc.cn) <description> - 描述此頻道 University Located In Yunnan Province) (A 每個 <channel> 元素可擁有一個或多個 <item> 元素。每個 <item> 元素可定義 RSS feed 中的一篇文章或 "story"。<item> 元素 擁有三個必需的子元素: <title> - 定義項目的標題。 (比如 The Institute of Physics) <link> - 定義到達項目的超鏈接。 (比如 http:// www.bsnc.cn /rss) <description> - 描述此項目 (比如 New RSS FROM BSNC)
2 如何在 PHP 中使用 RSS
在很多 PHP 語言編寫的 RSS 工具中, MagpieRSS 是一個很突出的 RSS 解析器。MagpieRSS(簡稱 Magpie)是由 Kellan Elliott-Mc? Crea 使用 PHP 編寫的一個強大的 RSS 解析器。Magpie 為開發(fā)人員提供了一種非常簡潔實用的方式來獲取和顯示 RSS 提要, 其主要 特點如下:
網(wǎng)絡(luò)通訊及安全
Computer Knowledge and Technology 電腦知識與技術(shù)
簡單易用: 通過幾行簡單的代碼就能夠獲取和解析 RSS 提要, 并轉(zhuǎn)換為網(wǎng)絡(luò)用戶容易閱讀的格式。 高度的兼容性: Magpie 支持各種 RSS 版本中的幾乎所有標簽集合以及開發(fā)人員自己定義的標簽, 只要格式正確, Magpie 就能成 功解析。 帶寬占用率低: 默認認情況下, Magpie 將提要內(nèi)容緩存為 60 分鐘 (當(dāng)然我們可以根據(jù)實際需要修改此值, 以適合各種提要的緩 存首選項。[2] 2.1 安裝 Magpie 與大多數(shù) PHP 類一樣, Magpie 的安裝非常簡單, 只需將相關(guān)的文件放在 PHP 腳本能夠引用的目錄中, 安裝步驟如下: 1) http://magpierss.sourceforge.net/下載 Magpie。 從 2) 將包的內(nèi)容解壓至一個便于從 PHP 腳本包含的位置。 3) 在腳本中包含 Magpie 類 (rss_fetch.inc) : require 'magpie/rssfetch.php') ( ;
2.2 Magpie 如何解析
RSS 提供了一種規(guī)范化的方式, 基于 XML 格式封裝網(wǎng)站內(nèi)容, 這稱為提要 (feed) 。Magpie 解析提要時, 將其放在四個字段(chan? nel、 image、 items 和 textinput)的對象中。其中, channel 是一個關(guān)聯(lián)數(shù)組的數(shù)組, 其余三個是關(guān)聯(lián)數(shù)組。我們可以通過以下 PHP 腳本 獲取 example.xml 提要, 使用 print_r()語句輸出: 2.3 如何顯示 RSS 提要 我們可以通過以下 javascript 代碼顯示 RSS 提要, 用下段代碼實現(xiàn)調(diào)用。 var STORE_KEY_FeedURL = "gf_FeedURL"; var STORE_KEY_FeedName = "gf_FeedName"; GF_RSS_URL= "http://answers.yahoo.com/rss/catq?sid=396546051"; GF_RSS_TITLE = "Yahoo! Answers"; function gf_showRssView() { document.getElementById("tickerView").style.display = "none"; widget.setPreferenceForKey(GF_RSS_URL, STORE_KEY_FeedURL); widget.setPreferenceForKey(GF_RSS_TITLE, STORE_KEY_FeedName); init(); } 把這些文件添加到你的工程, 并且將下段代碼插入到你的 PHP 主文件中。
2.4 緩存提要
3 結(jié)論
默認情況下, magpie 緩存 60 分鐘, 這是因為一般的提要不太可能一小時內(nèi)更新超過 1 次。因此, 即使經(jīng)常嘗試獲取相同的提 要, 比如每 5 分鐘一次, 也不會出現(xiàn)任何更新, 直到提要緩存達到 60 分鐘為止。但有些提要確實會在一小時內(nèi)發(fā)布多次, 或者可能 用來發(fā)布更緊急的信息。為了完全禁用緩存, 可以禁用常量 MAGPIE_CACHE_ON, 如下: define ("MAGPIE_CACHE_ON",0) 為修改默認的緩存時間(以秒為單位) 可以修改常量 MAGPIE_CACHE_AGE,如下: , define "MAGPIE_CACHE_AGE",1800) ( 最后, 可以選擇在獲取失敗時顯示一個錯誤, 而不是顯示緩存的提要, 這需要啟用常量 MAGPIE_CACHE_FLASH_ONLY: define("MAGPIE_CACHE_FLASH_ONLY",1)
使用 RSS 訂閱能幫助網(wǎng)絡(luò)用戶更快地獲取信息, 有利于讓用戶獲取網(wǎng)站內(nèi)容的最新更新。該文對 RSS 的語法及 PHP 環(huán)境下的 MagpieRSS 解析器的安裝、 解析機制、 解析過程等方面進行了初步的探討, 希望能夠?qū)?PHP 開發(fā)人員有一定的幫助。
【在PHP中使用RSS技術(shù)的方法】相關(guān)文章:
PHP中trait的使用方法08-20
php中iconv函數(shù)使用方法08-23
PHP中魔術(shù)方法的使用方法10-15
PHP中的魔術(shù)方法10-20
PHP中l(wèi)ist的方法07-05
php中序列化和json使用方法10-28
PHP中命名空間的方法05-07