我已经浏览了所有的东西来删除字符串中的字符,但我不明白这里发生了什么。
我正在使用jQuery script从Youtube频道获取视频,并显示带有视频链接的视频。在同一页面上,我使用iframe code嵌入了一个视频。我将视频设置为在目标中打开,即iframe。但是URL不起作用。
(断开链接,因为新用户不能发布超过2个链接)
我需要删除额外内容,因此我想要做的是从开始时删除http://www.youtube.com/watch?v=
,然后从结尾删除&feature=youtube_gdata
,然后将http://www.youtube.com/embed/
添加回开头。
然而,链接似乎是某种事件,我无法弄清楚如何做到这一点。
+ e.link[0].href +
以上是链接在javascript中的显示方式。
如何从中获取我需要的链接?
非常感谢, 杰克克拉克
答案 0 :(得分:2)
您可以从旧网址中获取视频ID,并构建一个新的网址:
var origURL = "http://www.youtube.com/watch?v=ayYNAEs0few&feature=youtube_gdata";
var matches = origURL.match(/(&|\?)v=([^&]+)/);
var newURL = "http://www.youtube.com/embed/" + matches[2];
// newURL == http://www.youtube.com/embed/ayYNAEs0few
工作示例:http://jsfiddle.net/jfriend00/zwcgL/。
使用这种从原始URL中提取实际视频ID的技术,您可以构建使用它的任何类型的其他URL以及一些简单的字符串添加。
答案 1 :(得分:1)
可能有一种更简单的方法可以做你想做的事情,但一个非常快捷的方法就是做一些事情:
var link = "http://www.youtube.com/watch?v=12345678";
link.replace('http://www.youtube.com/watch?v=','');
// link now = 12345678
所以你可以用它来追加一个字符串。
link2 = 'http://www.youtube.com/watch?v=' + link;
答案 2 :(得分:1)
var original = "http://www.youtube.com/watch?v=VIDEO_ID&feature=youtube_gdata";
var changed = original
.replace( "http://www.youtube.com/watch?v=", "http://www.youtube.com/embed/")
.replace( "&feature=youtube_gdata", "");
alert( changed ); // shows "http://www.youtube.com/embed/VIDEO_ID"