为什么PHP preg_match返回空?

时间:2013-04-12 21:01:38

标签: php regex vimeo

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

变量转储:

array(0) {
}

它有效here所以我错过了什么?

3 个答案:

答案 0 :(得分:0)

对我来说,按预期工作。我明白了..

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

答案 1 :(得分:0)

使用正则表达式更具体,以防止贪婪的表达:

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

答案 2 :(得分:0)

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