Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Javascript)来自嵌入代码的YouTube视频ID-regex?_Javascript_Jquery_Regex_Youtube - Fatal编程技术网

(Javascript)来自嵌入代码的YouTube视频ID-regex?

(Javascript)来自嵌入代码的YouTube视频ID-regex?,javascript,jquery,regex,youtube,Javascript,Jquery,Regex,Youtube,我有一个脚本,它遍历页面并返回所有选定的元素——在本例中为 例如,当在博客中找到YouTube视频时,它会返回一个iframe。我可以获取iframe src,通过函数传递它,并将视频ID正则化。但是,当YouTube视频在YouTube页面中插入时,其嵌入方式不同,并且视频ID位于“flashvars”属性中 下面是一个视频嵌入示例: 你们会推荐什么样的最佳方法来确认src为YouTube,并从中获取视频IDqlo5XHZ8 zI 首先确认为youtube: if (e.src.substr(

我有一个脚本,它遍历页面并返回所有选定的元素——在本例中为

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

下面是一个视频嵌入示例:


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

首先确认为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\u id
现在应该是视频的id