2012-11-20 2 views
1

웹 사이트 RSS 피드를 확인하고 특정 용어를 기반으로 변경 사항을 확인한 다음 알림이 있으면 이메일로 전송하는 PHP 스크립트를 만들려고합니다.PHP 스크립트를 실행하여 rss 피드가 변경되었는지 확인

내가 설정하는 방법 이메일 시스템 및 설치 cron 작업을에 알고 있지만 나는 RSS 피드 :(에서 용어를 검색하기 위해 PHP를 얻는 방법을 잘 모릅니다

예 : 나는 BBC에 스크립트를 설정 한 뉴스 (http://feeds.bbci.co.uk/news/rss.xml)는 "David Cameron"이라는 용어가 상위 3 개 피드의 제목 또는 본문에 표시되는지 확인하고, 그렇다면 알림 메시지를 보냅니다.

아무에게도 묻지 않습니다. 나에게 대본을 쓰려면 누구나 튜토리얼을 알고 있으면 RSS 검색을 설정하는 것이 좋을 것입니다. 또한 모든 노래 대본이 필요하지 않습니다.

+0

http://rssphp.net/ – sbaaaang

답변

4

RSS는 DOM으로 쉽게 파싱 할 수있는 일반 XML입니다. 당신이 믿을 수있는 경우

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

을 또는 : 다음

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

그리고 당신은 정말 쉽게 타이틀을 얻을 수있는 항목 노드가 있으면 GetElementesByTagName()를 사용하여 xPath

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

로 구문 분석 유효한 rss는 항상 <title>을 포함합니다 :

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

좋아, 당신은 내가 메신저 –

+1

@JosephGregory 단지 구글 연구를 많이 할 필요가가는 볼 수 있도록 내가 XML 문서에 최대를 흘려 주기도하고 있지 않다 나를 잃었다'의 PHP DOM tutorials' 또는 [w3schools에있는 사람들] (http://www.w3schools.com/php/php_xml_dom.asp)로 가면 괜찮을 것입니다. XML을 파싱하는 것은 일반적인 일이며 어떤 방식 으로든 배워야합니다. – Vyktor

+1

또 다른 옵션은 SimpleXML을 사용하는 것입니다. XML 파일을 읽고 객체처럼 조작 할 수 있습니다. http://php.net/manual/en/simplexml.examples-basic.php –

관련 문제