youtube视频按关键字嵌入



我想使用youtube api嵌入一个随机相关的视频,我找到了以下代码,但我需要将表单代码更改为关键字变量(我将使用产品标题作为变量)。此代码使用表单输入。如何更改代码以使用已定义的变量?

<!DOCTYPE html 
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Searching for videos by keyword</title>
    <style>
    img {
      padding: 2px; 
      margin-bottom: 15px;
      border: solid 1px silver; 
    }
    td {
      vertical-align: top;
    }
    td.line {
      border-bottom: solid 1px black;  
    }
    </style>
  </head>
  <body>
    <?php
    // if form not submitted
    // display search box
    if (!isset($_POST['submit'])) {
    ?>
    <h1>Keyword search</h1>  
    <form method="post" action="<?php echo 
      htmlentities($_SERVER['PHP_SELF']); ?>">
      Keywords: <br/>
      <input type="text" name="q" />
      <p/>
      Items to display: <br/>
      <select name="i">
        <option value="10">10</option>
        <option value="25">25</option>
        <option value="50">50</option>
        <option value="100">100</option>
      </select>
      <p/>
      <input type="submit" name="submit" value="Search"/>  
    </form>
    <?php      
    // if form submitted
    } else {
      // check for search keywords
      // trim whitespace
      // separate multiple keywords with /
      if (!isset($_POST['q']) || empty($_POST['q'])) {
        die ('ERROR: Please enter one or more search keywords');
      } else {
        $q = $_POST['q'];
        $q = ereg_replace('[[:space:]]+', '/', trim($q));
      }
      // set max results
      if (!isset($_POST['i']) || empty($_POST['i'])) {
        $i = 25;
      } else {
        $i = $_POST['i'];
      }
      // generate feed URL
      $feedURL = "http://gdata.youtube.com/feeds/api/videos/-/{$q}
      ?orderby=viewCount&max-results={$i}";
      // read feed into SimpleXML object
      $sxml = simplexml_load_file($feedURL);
      // get summary counts from opensearch: namespace
      $counts = $sxml->children('http://a9.com/-/spec/opensearchrss/1.0/');
      $total = $counts->totalResults; 
      $startOffset = $counts->startIndex; 
      $endOffset = ($startOffset-1) + $counts->itemsPerPage;       
      ?>
      <h1>Search results</h1>
      <?php echo $total; ?> items found. Showing items 
      <?php echo $startOffset; ?> to <?php echo $endOffset; ?>:
      <p/>
      <table>
      <?php    
      // iterate over entries in resultset
      // print each entry's details
      foreach ($sxml->entry as $entry) {
        // get nodes in media: namespace for media information
        $media = $entry->children('http://search.yahoo.com/mrss/');
        // get video player URL
        $attrs = $media->group->player->attributes();
        $watch = $attrs['url']; 
        // get video thumbnail
        $attrs = $media->group->thumbnail[0]->attributes();
        $thumbnail = $attrs['url']; 
        // get <yt:duration> node for video length
        $yt = $media->children('http://gdata.youtube.com/schemas/2007');
        $attrs = $yt->duration->attributes();
        $length = $attrs['seconds']; 
        // get <gd:rating> node for video ratings
        $gd = $entry->children('http://schemas.google.com/g/2005'); 
        if ($gd->rating) {
          $attrs = $gd->rating->attributes();
          $rating = $attrs['average']; 
        } else {
          $rating = 0; 
        }
        // print record
        echo "<tr><td colspan="2" class="line"></td>
        </tr>n";
        echo "<tr>n";
        echo "<td><a href="{$watch}"><img src="$thumbnail"/></a></td>n";
        echo "<td><a href="{$watch}">
        {$media->group->title}</a><br/>n";
        echo sprintf("%0.2f", $length/60) . " min. | {$rating} user 
        rating<br/>n";
        echo $media->group->description . "</td>n";
        echo "</tr>n";
      }
    }
    ?>
    </table>
  </body>
</html>

只需设置一个变量即可保存关键字,例如$array=['cat',mouse'dog']。此外,您还可以设置一个变量,该变量将在数据库中获取数据/预设关键字,将其传递给每个循环,然后插入嵌入代码。

以下是嵌入Youtube视频的指南。

// mysql/data of keywords  
$array=['cat',mouse'dog']  
foreach( $array as $keyword){
//embed video
}

基于本教程,介绍如何通过关键字嵌入Youtube视频。

嵌入Youtube的推荐方法是使用IFrame。因为IFrame会根据客户的能力和可用的YouTube文件格式选择合适的播放器。

应用程序中的<iframe>标记,其中src URL指定播放器将加载的内容以及您想要设置的任何其他播放器参数。

如果您自己创建<iframe>元素(而不是使用IFrame Player API创建),则可以将播放器参数直接附加到URL的末尾。URL的格式如下:

http://www.youtube.com/embed/VIDEO_ID 

下面的<iframe>标签将加载一个640 x 480像素的播放器,该播放器将播放YouTube视频doLy jFSFNo。

由于URL将自动播放参数设置为1,一旦播放器加载,视频就会自动播放。

<iframe id="ytplayer" src="http://www.youtube.com/embed/doLy-jFSFNo?autoplay=1&origin=http://www.mr2t.com" frameborder="0" width="640" height="480"></iframe>

也试着检查一下,如何在PHP中嵌入YouTube视频?

相关内容

  • 没有找到相关文章