Я копирую функцию, которая будет принимать youtube/vimeo url и возвращать сайт, с которого пришло видео (vimeo/yt), а также id видео.
Вот что у меня есть на данный момент: http://jsfiddle.net/csjwf/181/
Result:
function parseVideoURL(url) {
url.match(/^http:\/\/(?:.*?)\.?(youtube|vimeo)\.com\/(watch\?[^#]*v=(\w+)|(\d+)).+$/);
return {
provider : RegExp.$1,
id : RegExp.$1 == 'vimeo' ? RegExp.$2 : RegExp.$3
}
}
var result = document.getElementById("result");
var video = parseVideoURL("http://www.youtube.com/watch?v=PQLnmdOthmA&feature=feedrec_grec_index");
result.innerHTML = "Provider: " + video.provider + "
ID: " + video.id;
var video = parseVideoURL("http://vimeo.com/22080133");
result.innerHTML += "
--
Provider: " + video.provider + "
ID: " + video.id;
Выход:
Result: Provider: youtube ID: PQLnmdOthmA -- Provider: vimeo ID: 2208013
Однако, обратите внимание, что для видео с vimeo, если url заканчивается на ID, последняя цифра всегда обрезается. Если добавить косую черту в конец url vimeo, то id вытягивается полностью.