Jquery 将youtube链接转换为jwplayer嵌入代码

Jquery 将youtube链接转换为jwplayer嵌入代码,jquery,youtube,Jquery,Youtube,我有一个聊天室,当有人发送youtube链接时,我想立即将其转换为可播放的视频 因此,当用户以以下格式发送链接时 http://www.youtube.com/watch?v=kLORyXO8mVc http://www.youtube.com/watch?v=kLORyXO8mVc&feature=related 它会将链接转换为此代码 <div id='mediaspace'>Youtube</div> <script type='text/javascript

我有一个聊天室,当有人发送youtube链接时,我想立即将其转换为可播放的视频

因此,当用户以以下格式发送链接时

http://www.youtube.com/watch?v=kLORyXO8mVc

http://www.youtube.com/watch?v=kLORyXO8mVc&feature=related

它会将链接转换为此代码

<div id='mediaspace'>Youtube</div>
<script type='text/javascript'>
  jwplayer('mediaspace').setup({
    'flashplayer': 'player.swf',
    'file': 'XXXXXX-YOUTUBE-VIDEO-URL-GOES-HERE-XXXXXX',
    'controlbar': 'bottom',
    'width': '350',
    'height': '230'
  });
</script>

您的代码在正则表达式中没有转义(您不能使用/inside/而不转义)或替换字符串(您不能使用'inside'而不转义)。试试这个:

var regEx = /http:\/\/(www\.)?youtube\.com\/watch\?.*v=([a-zA-Z0-9]+)/;

$("body").filter(function() {
    return $(this).html().match(regEx);
}).each(function() {
    $(this).html($(this).html().replace(regEx, "<div id='mediaspace'>Youtube</div><script type='text/javascript'>jwplayer('mediaspace').setup({'flashplayer': 'player.swf','file': '$1','controlbar': 'bottom','width': '350','height': '230'});</scr"+"ipt>"));
});
var regEx=/http:\/\/(www\)?youtube\.com\/watch\?*v=([a-zA-Z0-9]+)/;
$(“body”).filter(函数(){
返回$(this.html().match(regEx);
}).each(函数({
$(this.html($(this.html().replace(regEx,“Youtubejwplayer('mediaspace')).setup({'flashplayer':'player.swf','file':'1','controlbar':'bottom','width':'350','height':'230');));
});

您的代码在正则表达式中没有转义(您不能使用/inside/而不转义)或替换字符串(您不能使用'inside'而不转义)。试试这个:

var regEx = /http:\/\/(www\.)?youtube\.com\/watch\?.*v=([a-zA-Z0-9]+)/;

$("body").filter(function() {
    return $(this).html().match(regEx);
}).each(function() {
    $(this).html($(this).html().replace(regEx, "<div id='mediaspace'>Youtube</div><script type='text/javascript'>jwplayer('mediaspace').setup({'flashplayer': 'player.swf','file': '$1','controlbar': 'bottom','width': '350','height': '230'});</scr"+"ipt>"));
});
var regEx=/http:\/\/(www\)?youtube\.com\/watch\?*v=([a-zA-Z0-9]+)/;
$(“body”).filter(函数(){
返回$(this.html().match(regEx);
}).each(函数({
$(this.html($(this.html().replace(regEx,“Youtubejwplayer('mediaspace')).setup({'flashplayer':'player.swf','file':'1','controlbar':'bottom','width':'350','height':'230');));
});

您真正需要帮助的是什么?是否希望帮助删除URL变量中除
v
之外的所有内容?@Ancide将链接包装在嵌入代码中。我添加了我拥有的代码,但它不起作用。您真正需要帮助的是什么?是否希望帮助删除URL变量中除
v
之外的所有内容?@Ancide将链接包装在嵌入代码中。我添加了我拥有的代码,但它不起作用