Я использую PHP, чтобы захватить канал XML и отобразить его на своем веб-сайте, канал поступает из
Этот блог NewsReach .
Я использую простой PHP-код для получения подробной информации, как показано ниже:
$feed = new SimpleXMLElement('http://blog.newsreach.co.uk/atom.xml', null, true);
$i = 0;
foreach($feed->entry as $entry)
{
if ($i < 4)
{
$title = mysql_real_escape_string("{$entry->title}");
$summary = mysql_real_escape_string("{$entry->content}");
$summary = strip_tags($summary);
$summary = preg_replace('/\s+?(\S+)?$/', '', substr($summary, 0, 100));
$url = mysql_real_escape_string("{$entry->link[4]['href']}");
$media = $entry->children('http://search.yahoo.com/mrss/');
$attrs = $media->thumbnail[0]->attributes();
$img = $attrs['url'];
}
}
Проблема, с которой я столкнулся, заключается в том, что тег миниатюры мультимедиа существует не в каждом сообщении блога, что приводит к появлению ошибки и прекращению работы XML Grabber.
Я устал от таких вещей, как:
if ($media == 0)
{
}
else
{
$attrs = $media->thumbnail[0]->attributes();
$img = $attrs['url'];
}
или
if ($media['thumbnail'] == 0)
{
}
else
{
$attrs = $media->thumbnail[0]->attributes();
$img = $attrs['url'];
}
, с которым мне не повезло, я надеялся, что кто-нибудь может помочь мне проверить, существует ли элемент XML, и затем обработать в зависимости от этого.
Спасибо всем