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

Remove characters from start and end of ' + e.link[0].href + '?

本文关键字:link href+ 结尾 开头 删除 字符      更新时间:2023-09-26

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

我使用jQuery脚本从Youtube频道获取视频,它会显示视频链接。在同一页面上,我使用iframe代码嵌入了一个视频。我将视频设置为在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中的显示方式。

我如何从中创建我需要的链接?

非常感谢,Jack Clarke

您可以从旧的URL中获取视频id,并构建一个新的URL,如下所示:

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。

可能有一种更简单的方法来做你想做的事情,但一种真正快速的方法是:

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;
 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"