【问题标题】:Script to search and embed youtube video搜索和嵌入 youtube 视频的脚本
【发布时间】:2026-02-10 23:20:06
【问题描述】:

我正在尝试将 youtube 视频自动嵌入到网页中。

网页已经有从url传入的关键字:/view.php?id=keywords123 这些用于在模板上创建内容,我还需要它来显示来自 youtube 的相关视频。

是否有代码可以搜索 youtube 并返回嵌入代码或要嵌入的视频 ID?

提前干杯!

【问题讨论】:

  • 这应该给你一个开始:code.google.com/apis/youtube/2.0/…
  • @JasonGennaro 您应该将此作为答案发布,因为所有必需的信息都在那里或可以从那里访问。
  • 感谢@JasonGennaro,已通读,有人有例子吗?

标签: php javascript api youtube embed


【解决方案1】:

我使用 jquery 来获取 youtube 嵌入网址:

var re = /https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com\S*[^\w\-\s])([\w\-]{11})(?=[^\w\-]|$)(?![?=&+%\w]*(?:['"][^<>]*>|<\/a>))[?=&+%\w-]*/ig;

video_url= text.replace(re,'http://www.youtube.com/embed/$1');

html='<p><iframe width="100%" height="300" src="'+video_url+'" frameborder="0"></iframe></p>';

$("#video_place").append(html);

【讨论】:

    【解决方案2】:

    我建议你使用json api,下面是代码,干杯。

      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    
      <script type="text/javascript" src="http://swfobject.googlecode.com/svn/trunk/swfobject/swfobject.js"></script>
      <script type="text/javascript">
    
      $(function(){
    
          $("a").click(function(){
              alert("");
              $("#sc").attr("src","http://gdata.youtube.com/feeds/users/ThePitchUTV/uploads?alt=json-in-script&callback=showMyVideos2");
    
    
              });
    
    
          });
    
    function loadVideo(playerUrl, autoplay) {
      swfobject.embedSWF(
          playerUrl + '&rel=1&border=0&fs=1&autoplay=' + 
          (autoplay?1:0), 'player', '500', '400', '9.0.0', false,
          false, {allowfullscreen: 'true'});
    }
    
    
    
    
    function showMyVideos(data) {
      var feed = data.feed;
      var entries = feed.entry || [];
      var html = ['<ul>'];
      for (var i = 0; i < entries.length; i++) {
        var entry = entries[i];
        var title = entry.title.$t;
        html.push('<li>', title, '</li>');
      }
      html.push('</ul>');
      document.getElementById('videos').innerHTML = html.join('');
    }
    
    
    </script>
    <script src="http://www.google.com/uds/api?file=uds.js&v=1.0"
        type="text/javascript"></script>
    <link href="http://www.google.com/uds/css/gsearch.css"
        rel="stylesheet" type="text/css"/>
    <script src="http://www.google.com/uds/solutions/videobar/gsvideobar.js"
        type="text/javascript"></script>
    <link href="http://www.google.com/uds/solutions/videobar/gsvideobar.css"
        rel="stylesheet" type="text/css"/>
    <style>
    pre {
      background-color:#FAFAFA;
      border:1px solid #BBBBBB;
      font-size:9pt;
      line-height:125%;
      margin:1em 0pt 0pt;
      overflow:auto;
      padding:0.99em;
    }
    code, pre {
      color:#007000;
      font-family:monospace;
    }
    .titlec {
      font-size: small;
    }
    ul.videos li {
      float: left;
      width: 10em;
      margin-bottom: 1em;
      cursor:pointer;
    }
    ul.videos
    {
      margin-bottom: 1em;
      padding-left : 0em;
      margin-left: 0em;
      list-style: none;
    }
    #videoBar {
      width : 160px;
      margin-right: 5px;
      margin-left: 5px;
      padding-top : 4px;
      padding-right : 4px;
      padding-left : 4px;
      padding-bottom : 0px;
    }
    </style>
    </head>
    <body>
    
    
    
    
    
      <div id="playerContainer" style="width: 20em; height: 400px; float: left; position:relative">
        <object id="player"></object>
      </div>
      <br>
      <div id="videos2" style="width:500px; clear:both;height:300px; overflow:auto;"></div>
      <script id="sc" 
        type="text/javascript" 
        src="http://gdata.youtube.com/feeds/users/ThePitchUTV/uploads?alt=json-in-script&callback=showMyVideos">
    
    
    
      </script>
    

    【讨论】:

    • 不幸的是,该代码不起作用,它也只能从选定的用户视频中播放。
    【解决方案3】:

    检查此link from IBM。这是一个非常古老的链接,但我想早点做类似的事情并帮助了我很多。它有一些关于如何执行关键字搜索和解析 xml 响应的示例。

    【讨论】:

      【解决方案4】:

      查看 Youtube Player API

      Youtube 播放器演示: http://code.google.com/apis/youtube/youtube_player_demo.html

      Youtube Actionscript 播放器 api: http://code.google.com/apis/youtube/flash_api_reference.html

      Youtube Javascript 播放器 api: http://code.google.com/apis/youtube/js_api_reference.html

      【讨论】: