2012-05-05 67 views
-5

我想從url中提取一個值,例如url爲使用php的url值

http://www.youtube.com/watchv = N22qGmYIUVU & feature = g-logo

我需要從使用php的url值v。我知道需要使用正則表達式來完成,但我並不擅長,我已經檢查了其他相關問題,但是我發現他們解決問題的方式。

爲前這個表達式 - /http\://www.youtube.com/watch\?v=([\w-]{11})/

限制訴到11 i的值做不是這樣,基本上如果遇到「#」或「&」或任何分隔符,v的值應該被終止並提取。

v的值可以是任意長度

請幫忙!

+0

你想從URL訴值或要生成的URL訴價值? – Dhruvisha

+0

請使用搜索,你的問題是重複的。 – hakre

+0

是的,它是重複的方式,我已經提到它,沒有一個答案是令人滿意的,這就是爲什麼再次張貼它:( – Jay66online

回答

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 
?> 
+0

fool => * Full :) – VibhaJ

+0

wonderful!它比我所需要的更多..謝謝噸 – Jay66online

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

這應該是關鍵。

0

使用PHP 5.4,你可以使用數組語法:

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