2010-03-07 44 views
0

例如,如果有RSS提要,並且出於某種原因它已關閉或無法抓取,我想顯示一條簡單消息,指出「無法抓取Feed」。如何檢查RSS提要是否有效?

現在PHP發出了一個非常難看的警告消息。

注意:我不需要知道它是否有效。我只需要知道飼料是否真的有效。我不想關閉警告。如果Feed不起作用,我想吐出一個簡單的回聲。我使用PHP沒有庫。

任何感謝將是真棒!

裏克

+0

歡迎SO :-)你能爲我們提供觸發錯誤一些示例代碼?你有什麼錯誤? – richsage 2010-03-07 20:44:24

+0

謝謝。現在一切正常,但說我從http://newsrss.bbc.co.uk/rss/sportplayer_uk_edition/football/rss.xml 提取飼料,他們改變他們的結構爲http:// newsrss。 bbc.co.uk/rss/sportplayer_uk_edition/soccer/rss.xml 足球和足球路徑已經切換。該Feed將不再起作用,我可以輕鬆修復該問題,但我只想要一個簡單的「現在無法抓取Feed」,以便用戶看不到dom文檔加載錯誤。 Rick – 2010-03-07 21:13:53

+1

你如何取得你的RSS? – ccheneson 2010-03-07 21:24:14

回答

0

您可以通過使用libxml_use_internal_errors功能手動處理任何XML解析錯誤。

一個例子可以發現here

+0

這很有幫助,但我仍然收到此錯誤。 (URL是不正確的,所以我可以測試) 警告:DOMDocument :: load(http://rss.cnn.com/rss)[domdocument.load]:未能打開流:HTTP請求失敗! HTTP/1.0 404未找到提要錯誤:FeedBurner找不到此提要URI。 in /home/content/r/i/c/rickchendesign/html/twg/rssLib.php 17行 – 2010-03-07 21:37:37

+0

事實上,似乎沒有辦法在使用DOMDocument(我以爲你在使用SimpleXML)時乾淨地抑制錯誤」。你可以爲它創建一個自定義的PHP錯誤處理程序。雖然承認這看起來相當醜陋,我覺得在這種情況下,PHP應該更容易處理警告。 – Inspire 2010-03-07 22:00:32

+0

我應該使用簡單的XML。我作爲一個PHP學習項目開始了這個項目。至少我學到了。感謝您的幫助啓發。 Rick – 2010-03-07 22:03:29

0

你可以這樣做:

error_reporting(E_WARNING); 

if (!$xmlDoc->load($url)){ 

echo ("Not content could be loaded."); 

}