1

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

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

www.givemeyoutube.com/watch?v=OZLUa8JUR18

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

更新:我该怎么做才能检查 URL,如果它包含“watch?v=”然后重定向到另一个页面?

4

4 回答 4

2

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

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

于 2012-05-09T22:50:21.037 回答
1

Preg match with \b(?<=v.|/)[a-zA-Z0-9_-]{11,}\bas RegExp

于 2012-05-09T22:49:38.923 回答
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'];
}
于 2012-05-09T22:56:13.980 回答
1

我认为 url 重写会更适合这项任务,因为无论如何您都需要重写 url 以确保watch打开一个实际的 php 页面。

我会使用类似的东西:

RewriteEngine On
RewriteBase /

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

此规则将导致所有以 开头的请求都watch被路由到index.php原始查询字符串(由于)和一个以 value[QSA]调用的附加参数。actionwatch

于 2012-05-09T22:57:28.087 回答