自动从URI嵌入Youtube视频

时间:2010-10-11 21:56:39

标签: regex youtube embed

如何自动从URI中嵌入youtube vidoes。 比如说你输入一个文本框:

  

快速的棕色狐狸跳过了这段视频http://www.youtube.com/watch?v=5qm8PH4xAss&feature=player_embedded,然后陷入了这个http://www.youtube.com/watch?v=lSCSmpV8Nn8&feature=hp_SLN&list=SL

按下提交,结果会显示给您。代替youtube链接,您可以获得实际的Flash文件。

(在PHP自然或任何语言中)。

我知道您可以使用Regex(preg_replace .etc),但是如何删除youtube提供的额外查询(即& feature = blah),并将所有内容转换为:http://www.youtube.com/v/5qm8PH4xAss,准备好放入要嵌入的物体中。

很抱歉这个问题很长,我希望你能理解。 :)

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找这样的事情:
在这里试试:http://www.jsfiddle.net/feridcelik/qu6U6/2/

<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script src="http://jquery.lukelutman.com/plugins/flash/jquery.flash.js"></script>

<script type="text/javascript">

   var yt="http://www.youtube.com/v/";
   $("a[href^='http://www.youtube.com/watch?v=']").each(function(){

        var key;
        var href =$(this).attr("href");
        var i=href.indexOf("v");
        href=href.substring(i+2,href.length);
        i=href.indexOf("&");
        if(i>-1){
            key=href.substring(0,i);
        }
        href=yt+key;
        $(this).after("<a href='"+href+"' class='video'></a>");

    });

    $('.video').flash(
        { height: 200, width: 200},
        { version: 8 },
        function(htmlOptions) {
            $this = $(this);
            htmlOptions.src = $this.attr('href');
            $this.before($.fn.flash.transform(htmlOptions));                        
        }
    );
    $('.video').remove();

</script>

基于以下的Flash插件: http://jquery.lukelutman.com/plugins/flash/