Вземете идентификатор на видео в youtube или Vimeo от връзка към видео

Връзката за споделяне на видеоклип във Vimeo изглежда така:

http://vimeo.com/89491724

Връзката за споделяне на видеоклип в YouTube изглежда така:

http://youtu.be/GioRM0kU5m0

Искам хората да въвеждат това в моя уебсайт и аз ще го вградя, като използвам техния код за вграждане и просто заменям последната (id) част с техните стойности (които се съхраняват в DB).

Мога да ги анализирам, като взема последните стойности след последната наклонена черта "/". Мога да разбера от кой сайт са въз основа на това дали „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