Разбор RSS media:thumbnail с помощью simpleXML

Категории: Программирование

PHP 5's simpleXML рассматривает RSS media:thumbnail в качестве namespace. simpleXML не воспринимает теги такого формата тегами, и просто игнорирует их.

Но можно использовать встроенную функцию xpath для поиска этого тега:


  <!-- For RSS media feeds of the following format: ( channel/item/{title, description, link, GUID, media:thumnail[url]} ) -->
<table>
<?php
    // I wrote this to accept a POST or GET from a webform
    // You can also send the 'xmlurl' variable like this:
    // http://www.mysite.com/mypage.php?xmlurl=SITEURLHERE
	$xmlURL = $_REQUEST['xmlurl'];
  
	$entries = new SimpleXMLElement('$xmlURL', null, true);
 
	foreach ($entries->channel->item as $item)
	{
		foreach ($item->xpath ('media:thumbnail') as $mediathumbnail) {
			$thumb = $mediathumbnail['url'];
		}
		foreach ($item->children() as $child)
		{
			switch ($child->getName())
			{
				case 'title':
					$title = $child;
				break;
                case 'link':
	                $link = $child;
                break;
                case 'description':
    	            $description = $child;
                break;
                default:
                break;
			}
		}
		echo "";
		echo "<tr><td><a href='".$link."' target='_blank'><img src='".$thumb."'></a></td>";
		echo "<td><a href='".$link."' target='_blank'>".$title."</a><br>".$description."</td><tr>";
		echo "";
	}
?>
</table>

Источник: webdesignwall.blogspot.com

Ключевые слова: php, simpleXML, media, thumbnail

Пока никто не прокомментировал =(. Будьте первым.


Добавить комментарий


Share |