我有这条线:
token = videos.results[i].titlemay_link.split("?v=")[1];
videos.results [i] .titlemay_link = youtube视频的链接分割只返回代码.
现在的问题是,我得到的一些youtube链接是这样的链接:
https://www.youtube.com/watch?v=1zO9nWgI_LY&feature=youtu.be
所以我得到的输出是:
1zO9nWgI_LY&feature=youtu.be
这不会加载嵌入播放器中的视频,我怎么能摆脱
&feature=youtu.be
谢谢!
token = videos.results[i].titlemay_link.split("?v=")[1]; token = token.split("&")[0];
但是在大多数情况下这都不够,因为youtube网址很多次变得复杂,这里有一个更加粗鲁的方法来获取youtube视频ID
function youtube_parser(url){ var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; var match = url.match(regExp); return (match&&match[7].length==11)? match[7] : false; }
这些是支持的URL类型
http://www.youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index http://www.youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/QdK8U-VIH_o http://www.youtube.com/v/0zM3nApSvMg?fs=1&hl=en_US&rel=0 http://www.youtube.com/watch?v=0zM3nApSvMg#t=0m10s http://www.youtube.com/embed/0zM3nApSvMg?rel=0 http://www.youtube.com/watch?v=0zM3nApSvMg http://youtu.be/0zM3nApSvMg