用php regex获取youtube播放列表id

时间:2011-02-25 08:46:25

标签: php regex youtube playlist

我正在尝试从网址中获取播放列表id并将其保存到新变量中。 例如,如果用户将其输入表单,然后提交

http://www.youtube.com/watch?v=A7izsd5IXq8&playnext=1&list=PL6753173C0F0BE9ED

我只想抓住PL6753173C0F0BE9ED并将其保存到新变量中。我试图使用explode这样做,所以它保存了&list=后的所有内容,但我没有太多运气。

有什么想法吗?

感谢您的帮助!

4 个答案:

答案 0 :(得分:5)

您可以使用parse_strparse_url

$string = 'http://www.youtube.com/watch?v=A7izsd5IXq8&playnext=1&list=PL6753173C0F0BE9ED';
$url = parse_url($string);
parse_str($url['query'],$q);
$list = $q['list'];

答案 1 :(得分:1)

$url = 'http://www.youtube.com/watch?v=A7izsd5IXq8&playnext=1&list=PL6753173C0F0BE9ED';
$pl = preg_match('/list=(PL[a-f0-9]+)/i', $url, $match)
  ? $match[1]
  : false;

答案 2 :(得分:0)

尝试

$url = 'http://www.youtube.com/watch?v=A7izsd5IXq8&playnext=1&list=PL6753173C0F0BE9ED';

echo end(explode('=', $url));

答案 3 :(得分:0)

$url = 'http://www.youtube.com/watch?v=A7izsd5IXq8&playnext=1&list=PL6753173C0F0BE9ED';
echo "URL = $url<br />";
$playlistID = explode("&list=", $url);
echo "playlistID = $playlistID[1]";

这似乎有用