来自使用php的网址的价值

时间:2012-05-05 13:03:49

标签: php youtube

我想从网址中提取一个值,例如网址是

http://www.youtube.com/watch V = N22qGmYIUVU &安培;特征= G-标志

我需要使用php从url获取v的值。我理解它需要使用正则表达式来完成,但我不太擅长,我已经检查了其他相关问题,但我发现了他们解决方式的问题。

对于此正则表达式 - /http://www.youtube.com/watch\?v=( [\ w-] {11})/

将v的值限制为11我不希望这样,基本上如果它遇到“#”或“&”或者任何分隔符,v的值应该被终止和提取。

v的值可以是任何长度

请帮忙!

4 个答案:

答案 0 :(得分:1)

最简单的方法是使用parse_url函数。 check this link

然后使用http://www.php.net/manual/en/function.parse-str.php

print_r(parse_url('http://www.youtube.com/watch?v=N22qGmYIUVU&feature=g-logo'));

答案 1 :(得分:0)

preg_match("~/watch\?v=(.*?)&~i", $uri, $matches);

这应该可以解决问题。

答案 2 :(得分:0)

这比使用正则表达式更加简单。

<?php
    $url = "http://www.youtube.com/watch?v=N22qGmYIUVU&feature=g-logo";

    $parts = parse_url($url);
    parse_str($parts['query'], $query);

    print_r($query); // $query['v'] is what you want
?>

答案 3 :(得分:0)

使用PHP 5.4,您可以使用阵列解除引用:

parse_str(parse_url("http://www.youtube.com/watch?v=N22qGmYIUVU&feature=g-logo")["query"],$arr);
echo $arr["v"];