2012-11-20 119 views
1

我正在創建一個PHP腳本,該腳本根據特定的術語檢查網站RSS提要的更改,然後通過電子郵件向我發送通知(如果有)。運行PHP腳本來檢查rss提要是否已更改

我知道如何設置的電子郵件系統,並設置一個cron作業,但我不知道如何讓PHP搜索詞語上的RSS提要:(

例子: 我有腳本設置爲BBC新聞(http://feeds.bbci.co.uk/news/rss.xml)檢查是否在前3個Feed中的任何一個的標題或正文中出現「David Cameron」這個詞,如果是這樣的話,請給我發郵件通知

我不問任何人給我寫一個腳本,但如果有人知道任何教程設置RSS搜索它將是偉大的,也不需要是所有的歌唱腳本,它只爲我

+0

http://rssphp.net/ – sbaaaang

回答

4

RSS只是普通的XML,可以用DOM輕鬆解析。

$doc = new DOMDocument(); 
$doc->load('http://feeds.bbci.co.uk/news/rss.xml'); 

然後用xPath

$xpath = new DOMXPath($doc); 
foreach($xpath->query('//item') as $node){ 
    // $node is DOMElement 
} 

解析它一旦你有項目節點就可以得到冠軍真的很容易使用GetElementesByTagName()

$titleNodes = $node->GetElementsByTagName('title'); 
if($titleNodes->length < 1){ 
    // Error 
} 
$title = $titleNodes->item(0)->nodeValue; 

或者,如果你能指望有效的rss總是包含<title>

$title = $node->GetElementsByTagName('title')->item(0)->nodeValue; 
+0

好吧你已經失去了我我沒有在XML文件上找出所以我可以看到即時通訊需要做大量的研究 –

+1

@JosephGregory只是谷歌的PHP DOM教程「或與[在w3schools](http://www.w3schools.com/php/php_xml_dom.asp),你會沒事的。解析XML是常見的事情,你應該學習它:) – Vyktor

+1

另一種選擇是使用SimpleXML。它允許你讀取一個XML文件並將其作爲一個對象進行處理http://php.net/manual/en/simplexml.examples-basic.php –