2013-04-12 182 views
1
// gets video ID from URL 
$url = "http://vimeo.com/12345678"; 
preg_match("/vimeo.*\/(\d+)/i", $url, $vimeoID); 
var_dump($vimeoID); 

可變轉儲:爲什麼PHP preg_match返回空?

array(0) { 
} 

它的工作原理here所以我錯過了什麼?

+0

這對我的作品! – HamZa

+1

嘗試對您的字符串使用單引號而不是雙引號,或將每個反斜槓加倍。你運行的是哪個版本的PHP? – FrankieTheKneeMan

回答

0

更具體與您的正則表達式來阻止貪婪的表情:

preg_match(":vimeo.\w{2,4}/(\d+):i", $url, $vimeoID); 
+0

貪婪不會阻止比賽;它會(可能)比預期的更匹配。 –

0

對我而言,按預期工作。我得到這個..

array(2) { 
[0]=> 
string(18) "vimeo.com/12345678" 
[1]=> 
string(8) "12345678" 
} 
0

試試這個: preg_match("/vimeo\.com\/([0-9]{1,})/i", $url, $vimeoID);