Удалить символы из начала и конца '+ e.link [0] .href +'? - PullRequest
2 голосов
/ 10 марта 2012

Я просмотрел все, чтобы удалить символы из строк, но я не понимаю, что здесь происходит.

Я использую сценарий jQuery , чтобы получать видео с канала Youtube и отображать их со ссылками на видео.На той же странице я встроил видео, используя код iframe .Я установил, чтобы видео открывалось в цели, которая является iframe.Однако URL-адреса не работают.

  • URL-адрес должен быть: http: // www.youtube.com/embed/VIDEO_ID
  • URL-адрес, которым он является в настоящее время: 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 ]

2 голосов
/ 10 марта 2012

Вы можете получить идентификатор видео из старого URL-адреса и создать новый 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, затем вы можете создать любой другой тип URL, который использует его, с простым добавлением строки.

1 голос
/ 10 марта 2012
 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"
1 голос
/ 10 марта 2012

Вероятно, есть более простой способ сделать то, что вы хотите сделать, но очень быстрый способ - сделать что-то вроде:

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