从'+ e.link [0] .href +'的开头和结尾删除字符?

时间:2012-03-10 00:40:51

标签: javascript jquery hyperlink youtube

我已经浏览了所有的东西来删除字符串中的字符,但我不明白这里发生了什么。

我正在使用jQuery script从Youtube频道获取视频,并显示带有视频链接的视频。在同一页面上,我使用iframe code嵌入了一个视频。我将视频设置为在目标中打开,即iframe。但是URL不起作用。

  • 网址应为:http://www.youtube.com/embed/VIDEO_ID
  • 目前的网址为:http://www.youtube.com/watch?v=VIDEO_ID&feature=youtube_gdata

(断开链接,因为新用户不能发布超过2个链接)

我需要删除额外内容,因此我想要做的是从开始时删除http://www.youtube.com/watch?v=,然后从结尾删除&feature=youtube_gdata,然后将http://www.youtube.com/embed/添加回开头。

然而,链接似乎是某种事件,我无法弄清楚如何做到这一点。

 + e.link[0].href + 

以上是链接在javascript中的显示方式。

如何从中获取我需要的链接?

非常感谢, 杰克克拉克

3 个答案:

答案 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"