Youtube 链接的格式如下:
http://www.youtube.com/watch?参数= video_id &bunch_of_other_stuff
现在,我错误地假设所有视频都有手表?v=
事实证明可以有一个 watch?list= 并且 v= 接近尾声。
就我所知,参数可以是 v 或 list 或其他东西。没关系。
所以这不包括 ?v= (这在 irc.mozilla.org:8443 上的#jetpack 频道上由freaktechnik 指出)。我们只剩下 v=
另一点是,几乎所有处理这个问题的部分都假设长度为 11 个字符。为什么 ?就因为是现在?
假设您有您的 URL,它是video_url
. 您只需使用两次拆分即可获得 video_id。我可以分两次完成,因为我只花了几个小时使用 JavaScript,但我相信更有经验的人可以做得更好。
编辑:
video_id = video_url.split("v=")[1];
ampersand_pos = video_id.indexOf("&");
if (ampersand_pos != -1) {
video_id = video_id.substring(0, ampersand_pos)
}
试试看。它考虑到了这一点:
youtube(dot)com/watch?list=WL2358B031ED8642DE&v=FyUrrAqso-M
还有这个:
youtube(dot)com/watch?v=hUgCuFiZozc&feature=c4-overview&list=UUyNpwxYpMdYpw8CNqqv3Bdw