如何从rss获取信息?

时间:2011-01-27 11:36:18

标签: php rss

目前我正在使用simplepie rss阅读器,其中我必须获取<content:encoded>标签中的图像

http://devilsworkshop.org/feed 

这是我必须从中获取图片的网址 我写了这段代码

<?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张。

请帮忙。

感谢。

1 个答案:

答案 0 :(得分:0)

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