从URL剥离Youtube链接

时间:2012-05-09 22:47:20

标签: php regex parsing youtube strip

我拥有一个允许用户下载Youtube视频的网站。我需要php脚本来检测是否存在youtube网址,例如:

givemeyoutube.com将用户带到我的普通网站,但如果他们输入,

www.givemeyoutube.com/watch?v=OZLUa8JUR18

如何将它们带到我网站的索引并删除“watch?v = OZLUa8JUR18”并将其存储为变量?

更新:如何检查网址以及是否包含“watch?v =”然后重定向到其他网页?

4 个答案:

答案 0 :(得分:2)

将preg_match与以下正则表达式一起使用

/(\/watch\?v=)([a-zA-Z0-9_-]+)/

答案 1 :(得分:1)

Preg与\b(?<=v.|/)[a-zA-Z0-9_-]{11,}\b匹配为RegExp

答案 2 :(得分:1)

您可以使用mod_rewrite来妥善处理watch?V=123456

等请求

.htaccess文件中:

RewriteEngine On
RewriteBase /
RewriteRule ^watch index.php [QSA]

然后在index.php

if( isset( $_GET['v'] ) ) {
    // access the v parameter with $_GET['v'];
}

答案 3 :(得分:1)

我认为url重写更适合这项任务,因为你需要重写url以确保watch打开一个真正的php页面。

我会使用类似的东西:

RewriteEngine On
RewriteBase /

RewriteRule ^watch.*$ /index.php?action=watch [QSA]

此规则会导致所有以watch开头的请求使用原始查询字符串(由于index.php)和名为[QSA]的其他参数路由到actionwatch