2012-07-12 2 views
1

Google RSS Feed를 구문 분석하려고 할 때 네트워크 오류가 발생합니다 : Chrome 및 Firefox 개발자 도구에서 500 내부 서버 오류가 발생합니다. RSS 피드 (컬 포함)를 다운로드하는 첫 번째 부분은 정상적으로 작동합니다. 구문 분석 rss 피드가 500 내부 서버 오류가 발생합니다

나는에서이 예제를 발견 http://www.joevasquez.info/development/parsing-xml-feeds-with-php-rss-and-atom/#more-63

누군가가 내가 잘못 무엇을 지적 할 수 있습니까? 고맙습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 
<body> 
<?php 
if (function_exists("curl_init")){ 
    $ch=curl_init(); 
    //curl_setopt($ch,CURLOPT_URL,'http://www.joevasquez.info/feed/'); 
    curl_setopt($ch,CURLOPT_URL, 'http://news.google.com/news?hl=en&topic=t&output=rss'); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
    //curl_setopt($ch,CURLOPT_HEADER,0); 

    $data=curl_exec($ch); 


    curl_close($ch); 
    //print($data); 

    $doc=new SimpleXmlElement($data,LIBXML_NOCDATA); 

    if (isset($doc->channel)) parseRSS($doc); 

    function parseRSS($xml){ 
     $cnt=count($xml->channel->item); 
     for ($i=0;$i<$cnt;$i++){ 
      $url=$xml->channel->item[$i]->link; 
      $title=$xml->channel->item[$i]->title; 
      $desc=$xml->channel->item[$i]->description; 

     echo '<a href="'.$url.'">'.$title.'</a>'.$desc.'<br>'; 
    } 
} 
?> 
</body> 
</html> 
+2

PHP가 500 오류를 생성 할 때마다 오류 로그에 유용한 항목이 수반됩니다. 스크립트의 시작이' DaveRandom

+0

지금 오류 로그를 확인하고 있습니다. – vaanipala

답변

3

for 루프 뒤에 대괄호를 닫지 않으 셨습니다.

for ($i=0;$i<$cnt;$i++){ 
    $url=$xml->channel->item[$i]->link; 
    $title=$xml->channel->item[$i]->title; 
    $desc=$xml->channel->item[$i]->description; 
} 
+0

오류가 계속 발생합니다. for 루프를 닫고 vaanipala

1

좋아요. 로그에서 오류 :

Fatal error: Call to undefined function parserss()in /home1/aquinto1/public_html/belibook.com/curl/curl3.php on line 17 

나는 잘라가 호출되기 전에 기능 parserRSS를 붙여 넣기하고 지금은 잘 작동합니다.

$doc=new SimpleXmlElement($data,LIBXML_NOCDATA); 

function parseRSS($xml){ 
    $cnt=count($xml->channel->item); 
    for ($i=0;$i<$cnt;$i++){ 
     $url=$xml->channel->item[$i]->link; 
     $title=$xml->channel->item[$i]->title; 
     $desc=$xml->channel->item[$i]->description; 
     echo '<a href="'.$url.'">'.$title.'</a>'.$desc.'<br>'; 
    } 
} 

if (isset($doc->channel)) parseRSS($doc); 

여러분 모두 감사합니다

다음은 내 수정입니다!

관련 문제