所以我试图从youtube的网址获取id ..
这是网址
http://gdata.youtube.com/feeds/api/videos/kffacxfA7G4/related?v=2
然后还有 - 在网址中。
它不会让我发布另一个网址,但它与上面相同,但ID为ucvkO0x-mL4
如何在正常表达式之间抓取视频/和/相关(id)?
我尝试使用txt2re.com,这是我一直使用的,但它不适合这种情况..
谢谢!
答案 0 :(得分:3)
甚至不需要正则表达式,只需要一个简单的strpos
和substr
即可。或者像这样使用explode
:
<?php
$url = 'http://gdata.youtube.com/feeds/api/videos/kffacxfA7G4/related?v=2';
//BY STRPOS/SUBSTR
echo substr($url, 42, strpos($url, '/related', 42) - 42);
//BY EXPLODE
$parts = explode('/', $url);
echo $parts[6];
?>
答案 1 :(得分:1)
(?:.*)videos/(.*?)/related\?v=2
答案 2 :(得分:1)
我就是这样做的
$url = 'http://gdata.youtube.com/feeds/api/videos/kffacxfA7G4/related?v=2';
preg_match('#.*videos/([0-9a-zA-Z_\-]{11})/related.*#', $url, $matches);
print_r($matches);
但是,@ shamittomar对strpos
和substr
答案 3 :(得分:0)
使用正则表达式,你可以通过
来完成$ url =“http://gdata.youtube.com/feeds/api/videos/kffacxfA7G4/related?v=2”;
的preg_match( '/视频\ /(+)\ /相关/。',$网址,$匹配);
$ id = $ match [1];