阅读来自rss feed的图像

问题描述:

我正在阅读和存储rss xml在我的数据库中提供数据与图像url和图像,并显示在我的网站url。为此,我创建了一个函数,它的工作良好。但是在一个rss数据中,我发现了一个不同名称和不同大小的相同图像。像阅读来自rss feed的图像

 <item> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_mn.jpg" width="320" height="240" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_mc.jpg" width="100" height="75" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_mv.jpg" width="264" height="198" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_wl.jpg" width="200" height="112" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_main.jpg" width="413" height="310" credit="Danny Moloshok/AP Photo"/> 
     <media:thumbnail url="http://a.abcnews.com/images/Entertainment/ap_tiger_woods_jp_111205_wmain.jpg" width="640" height="360" credit="Danny Moloshok/AP Photo"/> 
     <media:keywords>1</media:keywords> 
     <title><![CDATA[Change of Plans: Romney Revamps as Gingrich Closes]]></title> 
     <link><![CDATA[http://feeds.abcnews.com/click.phdo?i=b21d3190f683c1e9dd83653255d5e446]]></link> 
    </item> 
     <item> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_mn.jpg" width="320" height="240" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_mc.jpg" width="100" height="75" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_mv.jpg" width="264" height="198" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_wl.jpg" width="200" height="112" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_main.jpg" width="413" height="310" credit="ABC News"/> 
     <media:thumbnail url="http://a.abcnews.com/images/International/abc_rq170_unmanned_drone_ll_111205_wmain.jpg" width="640" height="360" credit="ABC News"/> 
     <media:keywords>5</media:keywords> 
     <title><![CDATA[Iran Missing Drone Was on CIA Mission]]></title> 
     <link><![CDATA[http://feeds.abcnews.com/click.phdo?i=42a589abb9eb7a87c2dcaeaaeeb2e383]]></link> 

更...........

与一个项目块这些都是相同的图像不同的大小。

和我的功能是为将影像:

public function getNytimes($site_config = array()){ 
     $xmlContent = self::checkXmlValidator($site_config['rss_link']); 
     if($xmlContent === false){ 
      /*update url if getting any error*/ 
      mysql_query("UPDATE feed_settings SET feed_settings.status = '0', feed_settings.error_log='Time:".date('Y-m-d H:i:s')." Invalid url or resopnse time too more' WHERE feed_settings.rss_link='".$site_config['id']."'"); 
      return false; 
     } 
     $xml1 = new SimpleXMLElement($xmlContent); 
     $child = $xml1->getDocNamespaces(); 
     $xml1->registerXPathNamespace('media', $child['media']); 
     $image_arr = $xml1->xpath('//media:content'); 
     $xml = @simplexml_load_string($xmlContent,'SimpleXMLElement', LIBXML_NOCDATA); 
     for($counter = 0; $counter < sizeof($image_arr); $counter++){ 
      $image = null; 
      $image = @$image_arr[$counter]->attributes()->url; 
     $sql_query = "INSERT INTO news_feeds SET `image_url` = '".$image."', 

但这次它保存6相同的图像数据库。 那么我能做什么从一个块获取单个图像?

如果图像几何图形是固定的,只保存具有指定宽度和高度属性的图像。

+0

不,图像几何​​不固定...其更改继续在下一个块 – ravinath

+0

像“_mn/_mc”这样的后缀是否固定? – changx

取决于您想要保存的照片。

$image = @$image_arr[0]->attributes()->url; 

这将使用_mn endfix保存图片。您可以在脚本结尾处删除for循环。