我有一个javascript代码,它将在页面上查找任何YouTube链接,并将这些链接替换为iFrame,并将视频嵌入到iFrame中。
这很好。
但有时,youtube链接的链接末尾有一些东西,例如:
&t=3s
或&t=44s
等
我还必须能够删除这些内容,但我无法通过某种方式删除它。
这是我的代码:
https://jsfiddle.net/6tv4uebw/
代码:
$(".indiContent").html(function(e, t) {
return t.replace(/http(?:s?):\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)([\w\-\_]*)(&(amp;)?[\w\?=]*)?/g, '<iframe width="100%" height="200" src="https://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>')
});
有人可以在这个问题上提出建议吗?
先谢谢了。
答案 0 :(得分:0)
您可以使用此t.replace(/http(?:s?):\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)([\w\-\_]*)(&(amp;)?[\w\?=]*)?/g, '<iframe width="100%" height="200" src="https://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>').replace(/&[^]*/,'')
jsfiddle:jsfiddle.net/hrps0e5m/
答案 1 :(得分:0)
URL末尾的&t=3s
是url传递的参数。
您可以使用简单的正则表达式找到所有这些内容。
在返回之前(在您的代码中),添加以下行:
var regex = /&.*/;
t = t.replace(regex, "");
然后对不带这些参数的链接进行任何操作。
祝你好运!