如何在页面加载时使用jQuery将youtube视频url转换为iframe嵌入代码
How to convert a youtube video url to the iframe embed code, using jQuery on page load?
我有一个所见即所得的文本区域,有时用户可能会在框中输入youtube url。在服务器端,有html过滤器来防止;有害的";代码无法保存。
因此,我只想保持服务器代码的原样,并运行一个jQuery文档就绪事件,该事件在一段文本中搜索youtube链接,并将其转换为iframe嵌入代码。
我想它会是基于正则表达式的,但我对正则表达式非常反感(在某个时候,我真的需要坐下来研究它们(。
两种类型的youtube链接:
http://www.youtube.com/watch?v=t-ZRX8984sc
或
http://youtu.be/t-ZRX8984sc
此正则表达式将拾取URL并将其替换为嵌入标记(根据YouTube当前输出的内容,仅为iframe
(。
str.replace(/(?:http:'/'/)?(?:www'.)?(?:youtube'.com|youtu'.be)'/(?:watch'?v=)?(.+)/g, '<iframe width="420" height="345" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>');
jsFiddle。
然而,这可能会破坏一些东西,比如用老式方法附加的事件处理程序。
这有点复杂,但最好的方式是仅使用文本节点。
应该是这样的。。。
$('body').contents().each(function() {
// Skip non text nodes.
if (this.nodeType !== 3) {
return true;
}
// Grab text
var matches = this.data.match(/(?:http:'/'/)?(?:www'.)?(?:youtube'.com|youtu'.be)'/(?:watch'?v=)?(.+)/g);
if (!matches) {
return true;
}
var iframe = $('<iframe width="420" height="345" frameborder="0" allowfullscreen />', {
src: 'http://www.youtube.com/embed/' + matches[1]
});
iframe.insertAfter(this);
$(this).remove();
});
请注意,这会在整个文本节点之后插入。
var yturl= /(?:https?:'/'/)?(?:www'.)?(?:youtube'.com|youtu'.be)'/(?:watch'?v=)?(['w'-]{10,12})(?:&feature=related)?(?:['w'-]{0})?/g;
var ytplayer= '<iframe width="640" height="360" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>';
str.replace(yturl, ytplayer);
确保所见即所得编辑器组织的正确操作
相关文章:
- 将纯文本URL转换为可单击链接
- Java脚本将URL转换为已保存的URL时出错
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 在JQuery中将页面翻转转换为自定义url
- 如何在jquery中将链接转换为seo友好的url
- JavaScript:将 URL 字符串转换为唯一标识符
- 我们如何将URL的PDF转换为convert.javascript中的ToBase64String
- 如何将本地文件路径转换为文件::?/url在node.js中的安全性
- 正在将URL转换为具有相同的输出
- 阻止Rails 4转换src-url
- 每当我试图将简单的图像源转换为数据URL时,就会出现安全错误异常
- 将URL的文本列表转换为可点击的HTML链接
- 角度相加“;“不安全”;在尝试下载文件时将其转换为url
- 将跨度内容(图像url)转换为图像(显示)
- 将 SVG 转换为图像时画布到 URL 功能出现问题
- 使用jQuery或Javascript将段落中的URL转换为链接
- 用于将 URL 和标记转换为定位点的标记
- 使用 javascript 将数据URL转换为文件
- Firefox 插件中的 OnBeforeRequest URL 重定向(从 Chrome 扩展程序转换)
- 转换url为html 标签和图像url到
用javascript正则表达式标记