2016-03-19 3 views
0

Я пробовал множество попыток, но, похоже, не могу получить изображения из этого канала в мой. Я просто ищу миниатюры, которые будут присутствовать на моем канале тоже. Может ли кто-нибудь помочь?Получение изображений для отображения из фида XML

<?php  

$XMLpath = 'http://feeds.bbci.co.uk/news/technology/rss.xml'; 


$xml = simplexml_load_file($XMLpath); 


//Title of feed 

echo '<h3>'.$xml->channel->title.'</h3>'; 
echo '<h3>'.$xml->channel->description.'</h3>'; 
echo '<p>'.$xml->channel->date.'</p>'; 
echo '<hr>'; 

// Feed content 

foreach($xml->channel->item as $item) { 

    //var_dump($item); 

echo '<h3>'.$item->title.'</h3>'; 
echo '<p>'.$item->description.'</p>'; 
echo '<p><a href="'.$item->link.'">Read more..</a> ('.$item-     

>pubDate.') </p>'; 
echo '<hr>'; 

} 

>

ответ

0
<?php 

$XMLpath = 'http://feeds.bbci.co.uk/news/technology/rss.xml'; 


$xml = simplexml_load_file($XMLpath); 
$ns = $xml->getNamespaces(true); 

//Title of feed 

echo '<h3>'.$xml->channel->title.'</h3>'; 
echo '<h3>'.$xml->channel->description.'</h3>'; 
echo '<p>'.$xml->channel->date.'</p>'; 
echo '<hr>'; 

// Feed content 

foreach($xml->channel->item as $item) { 

    //var_dump($item); 

echo '<h3>'.$item->title.'</h3>'; 
$thumbnail=$item->children($ns["media"]); 
if(!empty($thumbnail)){ 
    $thumbnail_attrs=$thumbnail->thumbnail[1]->attributes(); 
    $image=$thumbnail_attrs["url"]; 
    echo "<img src='$image'></img>"; 
} 
echo '<p>'.$item->description.'</p>'; 
echo '<p><a href="'.$item->link.'">Read more..</a> ('.$item->pubDate.') </p>'; 
echo '<hr>'; 

} 
?> 
+0

Brilliant - могли бы вы кратко объяснить, что вы сделали, так что я могу получить мою голову вокруг него? – Tatws24

+1

Объявление пространства имен для тега мультимедиа (строка 7). Затем возьмите своих детей (строка 23). В этом случае миниатюра представляется единственным объектом, но вы можете представить себе множество различных типов носителей, поэтому пространство имен носителей позволяет избежать конфликтов имен в документе. Тогда, поскольку не каждый элемент имеет миниатюру, проверьте, чтобы он не был пустым (строка 24), а затем распечатайте его, если он существует. Вот хороший учебник: http://www.sitepoint.com/parsing-xml-with-simplexml/ –