我拥有一个允许用户下载Youtube视频的网站。我需要php脚本来检测是否存在youtube网址,例如:
givemeyoutube.com将用户带到我的普通网站,但如果他们输入,
www.givemeyoutube.com/watch?v=OZLUa8JUR18
如何将它们带到我网站的索引并删除“watch?v = OZLUa8JUR18”并将其存储为变量?
更新:如何检查网址以及是否包含“watch?v =”然后重定向到其他网页?
答案 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]
的其他参数路由到action
值watch
。