2011-01-27 94 views
0

目前我的工作了SimplePie RSS阅读器,其中我在<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

也许这是因为Feed只能返回10个项目?如果这不是问题,您能准确描述图像处理终止的位置以及问题是什么? – 2011-01-27 11:37:30

回答

0

您必须使用preg_match_all而不是preg_match来获取字符串中的所有正则表达式匹配。