从URL中删除Youtube链接


Strip Youtube Link from URL

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

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

www.givemeyoutube.com/watch?v=OZLUa8JUR18

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

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

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

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

Preg 与 'b(?<=v.|/)[a-zA-Z0-9_-]{11,}'b 匹配为 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 开头的请求都路由到具有原始查询字符串(由于 [QSA])和值为 watch 的名为 action 的附加参数 index.php 的 。