Получить идентификатор видео YouTube или Vimeo по ссылке на видео

Ссылка на видео для публикации в Vimeo выглядит так:

http://vimeo.com/89491724

Ссылка на видео для публикации на YouTube выглядит так:

http://youtu.be/GioRM0kU5m0

Я хочу, чтобы люди ввели это на мой веб-сайт, и я встрою его, используя их код для встраивания и просто заменив последнюю часть (id) своими значениями (которые сохраняются в БД).

Я могу разобрать их, взяв последние значения после последней косой черты «/». Я могу сказать, с какого они сайта, если в строке есть «vimeo». Мой вопрос в том, открываю ли я себя для каких-либо проблем с безопасностью, делая это? Есть ли что-нибудь, что человек может сделать, чтобы использовать эту систему, что кто-нибудь может придумать?

Существуют ли какие-либо библиотеки для проверки, о которых я, возможно, не знаю?


person user441521    schedule 30.03.2014    source источник


Ответы (1)


Да, у меня такая же проблема несколько месяцев назад, и я сделал эту функцию, чтобы получить идентификатор видео для YouTube и Vimeo.

Вот ваше решение..

function Getvideoid(videolink)

var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
var match = videolink.match(regExp);

  if (match && match[7].length == 11) 
    {
      alert("youtube video id : "+ match[7]);      
      return;
    }
    regExp = "vimeo\\.com/(?:.*#|.*/videos/)?([0-9]+)";
    match = videolink.match(regExp);
    if(match)
      {
       var videoid = videolink.split('/')[videolink.split('/').length - 1];
        alert("vimeo video id :"+videoid);
      }

 else 
  {
    alert("Unknown url");
  }

и вот ссылка JSBIN http://jsbin.com/zoxicoko/2/

person Anant Dabhi    schedule 30.03.2014