相关疑难解决方法(0)

使用preg_match解析youtube视频ID

我正在尝试使用preg_match解析youtube网址的视频ID.我在这个网站上找到了一个似乎有效的正则表达式;

(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+
Run Code Online (Sandbox Code Playgroud)

如图所示:

替代文字

我的PHP如下,但它不起作用(给出未知修饰符'['错误)...

<?
 $subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";

 preg_match("(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+", $subject, $matches);

 print "<pre>";
 print_r($matches);
 print "</pre>";

?>
Run Code Online (Sandbox Code Playgroud)

干杯

php regex youtube parsing

63
推荐指数
4
解决办法
6万
查看次数

仅从youtube的网址中获取视频ID

如何仅从youtube的网址中获取视频ID?

例如,

http://www.youtube.com/watch?v=aPm3QVKlBJg

有时URL会在'v'之后包含其他信息

http://www.youtube.com/watch?v=Z29MkJdMKqs&feature=grec_index

但我不想要其他信息,只是视频ID.

我只能想到使用爆炸,

$url  = "http://www.youtube.com/watch?v=aPm3QVKlBJg";
$pieces = explode("v=", $url);
Run Code Online (Sandbox Code Playgroud)

但如何清理这样的URL?

http://www.youtube.com/watch?v=Z29MkJdMKqs&feature=grec_index

php youtube explode

1
推荐指数
1
解决办法
2035
查看次数

标签 统计

php ×2

youtube ×2

explode ×1

parsing ×1

regex ×1