【发布时间】:2012-03-25 18:55:03
【问题描述】:
因此,我看到了很多使用 JavaScript 从 URL 中获取 YouTube ID 的脚本,但我找不到或不知道如何获取 ID 以及任何其他变量。我有一个 PHP 脚本可以做到这一点,但我想用 JavaScript 做到这一点。有谁知道如何做到这一点?
我怀疑这是必要的,但这是我正在使用的两个脚本
用于视频 ID 的 JavaScript...
url = $(this).text();
var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/;
var match = url.match(regExp);
if (match&&match[2].length==11){
alert(match[2]);
}else{
alert("not youtube");
}
还有 PHP...
if (preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $match)) {
$youtubeid = $match[1];
$getyt = (parse_url($url));
}
if(strlen($getyt['fragment']) > 0) {
$addhash = '#' . $getyt['fragment'];
}
$embed = "http://www.youtube.com/embed/$youtubeid?wmode=opaque&autoplay=1$addhash";
PHP 非常好,只是它只适用于哈希标签。我想要其他变量的主要原因是有人想要指定开始时间。因此,如果有人能告诉我如何获取 URL 和其他参数(或者只是视频的指定开始时间),我将非常感激,因为我完全迷路了。
【问题讨论】:
-
stackoverflow.com/questions/9552883/… - 他有一些代码,你可能需要修改一下
-
那只能从视频中获取 ID,我已经知道该怎么做。这是我遇到麻烦的其他参数。不过谢谢。
-
正则表达式是关于模式匹配的,但是你没有给我们任何匹配的东西!该附加参数应如何显示?它的工作方式与您用于获取视频 ID 的方式完全相同。搜索参数并将相应的值放入捕获组。
标签: javascript regex parsing url youtube