Получить URL-адрес изображения из описания в RSS-канал с использованием php и simplexml - PullRequest
0 голосов
/ 06 марта 2010

Я пытаюсь настроить страницу php, состоящую из изображений из 3 разных RSS-каналов, в 3 столбцах. Первый канал - из блога Wordpress, второй - из магазина Etsy, а третий - из канала Flickr.

Я бы хотел получить ссылку на изображения из первых 3 элементов в каждом фиде.

Соответствующая информация:

  • Канал Wordpress помещает ссылку в описании в формате CDATA.
  • Канал Etsy помещает ссылку на изображение в качестве первого элемента в описании (например, &lt;img src=&quot;http://ny-image2.etsy.com/il_155x125.126568958.jpg&quot; /&gt;), но также имеет ее в теге <g:image_link>.
  • В фиде Flickr есть ссылка в описании, но она идет на третьем месте после ссылки на профиль пользователя и ссылку на страницу с фотографией. Существует также <media:content url="http://farm5.static.flickr.com/4016/4377189674_d6f3aafa81_m.jpg" type="image/jpeg" height="159" width="240"/>.

Я прочитал основы php и simplexml, но мне кажется, что я хотел бы сделать это слишком сложно, чтобы понять это самостоятельно. Я бы предпочел иметь отдельный файл functions.php, поэтому мне нужно вызывать функцию только на веб-странице.

ETA:

У меня есть изображения для подачи Etsy, используя

<?php<br> function getEtsyFeed($feed_url) {<br> $content = file_get_contents($feed_url);<br> $x = new SimpleXmlElement($content);<br> echo "<ul>";<br> foreach($x->channel->item as $entry) {<br> echo "<br> <li><br> <a href='$entry->link'><img src=" . $entry->children('g', true)->image_link . " /></a><br> </li>";<br> }<br> echo "</ul>";<br> }<br> ?>

и изображения из ленты Flickr, полученные с помощью

<?php<br> function getFlickrFeed($feed_url) {<br> $content = file_get_contents($feed_url);<br> $x = new SimpleXmlElement($content);<br> echo "<ul>";<br> foreach($x->channel->item as $entry) {<br> echo "<br> <li><br> <a href='$entry->link'><img src=" . $entry->children('media', true)->thumbnail->attributes()->url . " /></a><br> </li>";<br> }<br> echo "</ul>";<br> }<br> ?>

Я до сих пор не уверен, что делать с фидом блога или как показывать только первые 3 изображения, не нарушая код, который у меня есть.

1 Ответ

0 голосов
/ 06 марта 2010

Вы должны попробовать MagPie.

http://magpierss.sourceforge.net/

...