2011-01-27 2 views
0

В настоящее время я работаю над SimplePie RSS Reader, в котором я должен получать изображения, присутствующие в <content:encoded> тегеКак получить информацию из rss?

http://devilsworkshop.org/feed 

в том, что URL, из которого я должен получать изображения я написал этот код

<?php 
       error_reporting(E_ALL & ~E_DEPRECATED); 
       include_once('../my_done_work/simplepie.inc'); 
       $feed = new SimplePie(); 
       $feed->set_feed_url('http://devilsworkshop.org/feed'); 
       $feed->init(); 
       $feed->handle_content_type(); 


    function returnImage ($text) 
{ 
     $text = html_entity_decode($text, ENT_QUOTES, 'UTF-8'); 
     $pattern = "/<img[^>]+\>/i"; 
     preg_match($pattern, $text, $matches); 
     $text = $matches[0]; 
     return $text; 
} 


function scrapeImage($text) 
{ 

     $pattern = '/src=[\'"]?([^\'" >]+)[\'" >]/'; 
     preg_match($pattern, $text, $link); 
       $link = $link[1]; 
       $link = urlencode($link); 

     return $link; 

} 
$count = 0; 
       $arrImg = array(); 
       $arrtitle = array(); 
        foreach ($feed->get_items() as $kk=> $item) { 
         $feedDescription = $item->get_content(); 
         $feedTitle = $item->get_title(); 
         $image = returnImage($feedDescription); 
         $image = scrapeImage($image); 
         $image = urldecode($image); 
         $arrimg[$count] = $image; 
         $arrtitle[$count] = $feedTitle; 
         $jj = $kk+1; 
       echo '<li><a href="#"><img src="' .$arrimg[$kk]. '" id="remove" ><span>'.$arrtitle[$kk].'</span></a></li>'; 

         $count++; 

       } 

?> 

но он не дает мне всех изображений, но только 10 из них.

помогите пожалуйста.

Спасибо.

+0

Возможно, это потому, что в фиде возвращается только 10 предметов? Если это не проблема, можете ли вы точно описать, где заканчивается обработка изображений и в чем проблема? –

+0

Нет, я обработал rss, чтобы он взял все теги изображений и дал мне src из них. – rajeshrt

ответ

0

Вы должны использовать preg_match_all вместо preg_match, чтобы получить все совпадения регулярных выражений в строке.

Смежные вопросы