【问题标题】:(Javascript) YouTube video ID from embed code - regex?(Javascript) 来自嵌入代码的 YouTube 视频 ID - 正则表达式?
【发布时间】:2013-03-19 13:40:01
【问题描述】:

我有一个遍历页面并返回所有选定元素的脚本 - 在本例中为 <embed...>

例如,当在博客中找到 YouTube 视频时,它会返回一个 iframe。我可以获取 iframe src,通过函数传递它,然后正则表达式视频 ID。但是,当 YouTube 视频位于 YouTube 页面中时,其嵌入方式不同,并且视频 ID 位于“flashvars”属性中。

这是一个嵌入视频的示例:http://pastie.org/7155840

你们会推荐什么最好的方法来确认 src 为 YouTube,并从中获取视频 ID qlo5XHZ8-zI

【问题讨论】:

    标签: javascript jquery regex youtube


    【解决方案1】:

    这是一个不使用正则表达式的解决方案。

    先确认为youtube:

    if (e.src.substr(0, 19) != "http://s.ytimg.com/") return false
    

    然后提取视频id:

    // get the flashvars
    var flashvars = e.getAttribute("flashvars")
    // convert flashvars string to key-value pairs
    flashvars = flashvars.split("&").map(function(entry) {
      return entry.split("=", 2)
    })
    // look up the value of the "video_id" key
    var video_id = flashvars.filter(function(entry) {
      return entry[0] == "video_id"
    })[0]
    

    video_id 现在应该是视频的 ID。

    【讨论】:

      猜你喜欢
      • 2011-07-02
      • 1970-01-01
      • 2022-10-06
      • 2011-12-09
      • 2015-07-23
      • 2011-08-08
      • 1970-01-01
      • 2015-08-16
      • 2012-07-11
      相关资源
      最近更新 更多