【问题标题】:Get youtube or Vimeo video Id from Video link从视频链接获取 youtube 或 Vimeo 视频 ID
【发布时间】:2014-03-30 17:38:59
【问题描述】:

Vimeo 分享视频链接如下:

http://vimeo.com/89491724

YouTube 分享视频链接如下:

http://youtu.be/GioRM0kU5m0

我希望人们将其输入到我的网站中,然后我将使用他们的嵌入代码将其嵌入,并将最后 (id) 部分替换为他们的值(存储在数据库中)。

我可以通过获取最后一个斜杠“/”之后的最后一个值来解析这些值。我可以根据字符串中是否包含“vimeo”来判断它们来自哪个站点。我的问题是,我这样做是否会让自己面临任何安全问题?有什么人可以做任何人都能想到的来利用这个系统吗?

是否有任何我可能不知道的用于验证的库?

【问题讨论】:

    标签: c# youtube vimeo


    【解决方案1】:

    是的,几个月前我也遇到了同样的问题,我已经制作了这个功能来获取 youtube 和 Vimeo 的视频 ID..

    这是您的解决方案..

    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/

    【讨论】:

      【解决方案2】:
      function parseVideo(url) {
          // - Supported YouTube URL formats:
          //   - http://www.youtube.com/watch?v=My2FRPA3Gf8
          //   - http://youtu.be/My2FRPA3Gf8
          //   - https://youtube.googleapis.com/v/My2FRPA3Gf8
          // - Supported Vimeo URL formats:
          //   - http://vimeo.com/25451551
          //   - http://player.vimeo.com/video/25451551
          // - Also supports relative URLs:
          //   - //player.vimeo.com/video/25451551
      
          url.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);
      
          if (RegExp.$3.indexOf('youtu') > -1) {
              var type = 'youtube';
          } else if (RegExp.$3.indexOf('vimeo') > -1) {
              var type = 'vimeo';
          }
      
          return {
              type: type,
              id: RegExp.$6
          };
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-28
        • 1970-01-01
        • 2016-09-28
        • 2023-03-28
        • 2017-08-25
        • 2014-12-15
        • 1970-01-01
        相关资源
        最近更新 更多