2014-12-27 4 views
-1

Привет, сэр Я пытаюсь получить путь к изображениям из RSS-каналов amazon, но есть три разных изображения в теге описания ... Я использую метод DOMDocument для извлечения данных из RSS-каналов ... Когда я пытаюсь получить путь к образцу, он извлекает полное описание (все три пути изображения в одном), но мне нужен только первый путь к основному изображению, чтобы показать его в моем слайдере RSS-ленты ... нужна помощь плохо. .last дата представления проекта ...Как получить путь к изображению из элемента описания в RSS

Amazon RSS поток - http://www.amazon.co.uk/gp/rss/bestsellers/electronics/560834/ref=zg_bs_560834_rsslink

А вот мой тестовый код, чтобы проверить изображения работают или не

error_reporting(0); 
$rss = new DOMDocument(); 
$rss->load('http://www.amazon.co.uk/gp/rss/bestsellers/electronics/560834/ref=zg_bs_560834_rsslink'); 
    $feed = array(); 
     foreach ($rss->getElementsByTagName('item') as $node) { 
     $item = array ( 
     'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 
     'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue, 
     'link' => $node->getElementsByTagName('link')->item(0)->nodeValue, 
     'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, 
      'img' => $node->getElementsByTagName('description')->item(1)->getAttribute('src') 
     ); 
     array_push($feed, $item); 
     } 
     $limit = 10;   
    for($x=0;$x<$limit;$x++) { 
     $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']); 
     $link = $feed[$x]['link']; 
     $description = $feed[$x]['desc']; 
     $img = $feed[$x]['img'];  
     $date = date('l F d, Y', strtotime($feed[$x]['date'])); 

    echo $img; 
    echo "<hr/>"; 
    } 
+0

Вау, вы только что ввели письмо от кого-то? _last дата отправки проекта_ - Я не могу поверить, что я действительно читаю это. – t3chb0t

+0

Я вижу, это не ваш первый вопрос. Кажется, вы ничего не опирались ни на что из предыдущих downvotes. – t3chb0t

+0

его круто, если вы не хотите отвечать ... хороший день я сам это выясню – user3193751

ответ

0

В этой строке предполагается, что изображение является вторым элементом в описании. Скорее всего, это изменится, когда вы будете читать другие данные RSS-канала.

$node->getElementsByTagName('description')->item(1)->getAttribute('src') 

Мало того, описание, как правило, сохраняется в блоке CDATA, а это означает, что HTML нашел в нем одну длинную строку текста, насколько XML парсер вы используете обеспокоен.

Что вы действительно хотите, так это получить текст описания, проанализировать его как HTML, а затем получить все теги img (возможно, первым получить). Убедитесь, что ваш код работает в том случае, если в описании отсутствуют теги img ,

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