使用 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&amp;feature=youtube_gdata_player'/>

如何使用 PHP (SimpleXml) 仅检索视频 ID,在我们的例子中 ksrHwD9cZjQ 位于 ?v=&amp; 之间?

我使用了 $url = (string)$media->group->player->attributes()->url; 但它检索了整个 URL。

此致,

谢谢!

您可以进一步处理 url,方法是使用 parse_str 获取 url 中的视频 ID:

$query_string = parse_url($url, PHP_URL_QUERY); // decode `&amp;` to `&`
parse_str($query_string, $data);
echo $data['v']; // ksrHwD9cZjQ