<iframe id="embed-1502305489435" name="embed-1502305489435" src="https://oembedly.com/embed.php?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DJvG1E0_Nazg"></iframe>
有时需要更新嵌入代码,但我会看到传统的嵌入代码,如上所述。
我想将上面的内容替换为src属性中包含的YouTube网址的普通超链接,将所有iframe与ID为“Embed - *”匹配。
我想用JQuery做到这一点:
$('[id^=embed-]').each(function() {
var source = $(this).attr('src');
// if: is it youtube (regex here)?
// - replace iframe with hyperlink
});
我已经使用了很多REGEX,因为我复制并粘贴了Internet的例子。一个解决方案将是太棒了,但也是一个指针,我将来如何理解这个巫术将是太棒了。
答案 0 :(得分:0)
这是最终的解决方案。不需要任何正则表达式。
结合非常有用的评论:
用新的超链接替换了嵌入代码
$(&#39; [id ^ = embed - ]&#39;)。each(function(){
var source = $(this).attr('src');
if (source.substr('www.youtube.com')) {
var videoId = source.substring(source.indexOf('%3D') + 3);
var linkHTML = '<a href="';
linkHTML += 'http://www.youtube.com/watch?v=' + videoId + '?autoplay=1';
linkHTML += '">YouTubeLink</a>';
$(this).replaceWith(linkHTML);
}
});
对于我的症状,这是一个合适的膏药,而我等待解决服务器方面的原因。