我拥有一个允许用户下载 Youtube 视频的网站。我需要检测是否存在 youtube url 的 php 脚本,例如:
givemeyoutube.com 将用户带到我的正常网站,但如果他们输入,
www.givemeyoutube.com/watch?v=OZLUa8JUR18
如何将它们带到我网站的索引并删除“watch?v=OZLUa8JUR18”并将其存储为变量?
更新:我该怎么做才能检查 URL,如果它包含“watch?v=”然后重定向到另一个页面?
将 preg_match 与以下正则表达式一起使用
/(\/watch\?v=)([a-zA-Z0-9_-]+)/
Preg match with \b(?<=v.|/)[a-zA-Z0-9_-]{11,}\b
as RegExp
您可以使用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'];
}
我认为 url 重写会更适合这项任务,因为无论如何您都需要重写 url 以确保watch
打开一个实际的 php 页面。
我会使用类似的东西:
RewriteEngine On
RewriteBase /
RewriteRule ^watch.*$ /index.php?action=watch [QSA]
此规则将导致所有以 开头的请求都watch
被路由到index.php
原始查询字符串(由于)和一个以 value[QSA]
调用的附加参数。action
watch