有人可以告诉我如何从URL中获取youtube id,无论URL中有哪些其他GET变量.
以此视频为例:http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=related
所以v=在下一个之间和之前&
我正在尝试创建一个函数,该函数从Wordpress自定义字段调用值("_videourl"表示YouTube视频网址),然后使用PHP修剪将其缩小为YouTube视频ID.我发现了一个javascript函数,可以将URL减少到ID,但我不知道我怎么能将它转换成php(下面的函数):
function youtubeIDextract(url)
{
var youtube_id;
youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
return youtube_id;
}
Run Code Online (Sandbox Code Playgroud)
这个PHP函数将在循环中使用,所以我想我必须使用变量,但我真的只是一个菜鸟,所以我不知道该怎么做.任何人都可以通过分享他们的编码专业知识来帮助我创建PHP函数吗?
编辑:解决
经过一些实验,我找到了解决方案.我想返回并发布它,以便其他有需要的人可以从某个地方开始.
function getYoutubeId($ytURL)
{
$urlData = parse_url($ytURL);
//echo '<br>'.$urlData["host"].'<br>';
if($urlData["host"] == 'www.youtube.com') // Check for valid youtube url
{
$ytvIDlen = 11; // This is the length of YouTube's video IDs
// The ID string starts after "v=", which is usually right after
// "youtube.com/watch?" in the URL
$idStarts = strpos($ytURL, "?v=");
// In case the "v=" is NOT right after the "?" (not …Run Code Online (Sandbox Code Playgroud)