使用 SimpleXml 仅检索属性内容的一部分:YouTube 视频 ID
Using SimpleXml to retrive only a part of an attribute's content: YouTube Video ID
下面是来自 XML 提要 (YouTube API 2.1) 的一行:
<media:player url='http://www.youtube.com/watch?v=ksrHwD9cZjQ&feature=youtube_gdata_player'/>
如何使用 PHP (SimpleXml) 仅检索视频 ID,在我们的例子中 ksrHwD9cZjQ
位于 ?v=
和 &
之间?
我使用了 $url = (string)$media->group->player->attributes()->url;
但它检索了整个 URL。
此致,
谢谢!
您可以进一步处理 url,方法是使用 parse_str
获取 url 中的视频 ID:
$query_string = parse_url($url, PHP_URL_QUERY); // decode `&` to `&`
parse_str($query_string, $data);
echo $data['v']; // ksrHwD9cZjQ
下面是来自 XML 提要 (YouTube API 2.1) 的一行:
<media:player url='http://www.youtube.com/watch?v=ksrHwD9cZjQ&feature=youtube_gdata_player'/>
如何使用 PHP (SimpleXml) 仅检索视频 ID,在我们的例子中 ksrHwD9cZjQ
位于 ?v=
和 &
之间?
我使用了 $url = (string)$media->group->player->attributes()->url;
但它检索了整个 URL。
此致,
谢谢!
您可以进一步处理 url,方法是使用 parse_str
获取 url 中的视频 ID:
$query_string = parse_url($url, PHP_URL_QUERY); // decode `&` to `&`
parse_str($query_string, $data);
echo $data['v']; // ksrHwD9cZjQ