使用Youtube频道如何解析$ link变量并获取视频ID?我可以获得链接但是parse_str部分似乎没有正常工作
youtube id解析:尝试使用下面的当前代码
if ( ! empty($xml->channel->item[0]->link) )
{
parse_str(parse_url($xml->channel->item[0]->link, PHP_URL_QUERY), $url_query);
if ( ! empty($url_query['v']) )
$id = $url_query['v'];
}
echo $id;
当前代码:
<?php
$id = NULL;
$username = 'utahblaze';
$url = 'http://gdata.youtube.com/feeds/api/users/%s/uploads?orderby=updated&max-results=8';
$xml = simplexml_load_file(sprintf($url, $username));
foreach ($xml->entry as $entry) :
$kids = $entry->children('http://search.yahoo.com/mrss/');
$attributes = $kids->group->content[0]->attributes();
$flv = $attributes['url'];
$attributes = $kids->group->player->attributes();
$link = $attributes['url'];
echo $id;
echo $link;
?>
<a id="ytopen" href="<?=$link?>">
<img src="http://i4.ytimg.com/vi/<?=$id?>/default.jpg" /></a>
<?php endforeach; ?>
答案 0 :(得分:2)
将此内容放在$link = $attributes['url'];
$querystring = parse_url($link);
$id = $querystring['query'];
$path = $querystring['path'];
$host = $querystring['host'];
$scheme = $querystring['scheme'];
parse_str($querystring['query'], $id_temp);
$link = $scheme . '://' . $host . $path . '/' . $id_temp['v'];