0

ウェブページに YouTube 動画を表示しようとしています

ここに私のコードがあります

    <embed width=\"240\" height=\"320\" 
    src=\"http://www.youtube.com/watch?v=Uqjg0xSGA1c&start=3&end=16\"
    type=\"application/x-shockwave-flash\">
    </embed>

上記のコードは白い背景のみを表示します。

同様のコードは正常に動作します

    <embed width=\"240\" height=\"320\" 
   src=\"http://www.youtube.com/v/XGSy3_Czz8k\"
    type=\"application/x-shockwave-flash\">
  </embed>

異なる src に注意してください

あるフォームを別のフォームに変換するにはどうすればよいですか。phpスクリプトを使用しています。

また、ウェブページでYouTubeビデオを再生する他の方法はありますか?

4

2 に答える 2

1

を使用して URL を解析しますparse_url()。クエリ文字列を取得および解析して値を見つけv、それを使用して新しい URL を生成します。

http://php.net/manual/en/function.parse-url.php

$parsedurl = parse_url("http://www.youtube.com/watch?v=Uqjg0xSGA1c&start=3&end=16");
echo $parsedurl["query"]; // v=Uqjg0xSGA1c&start=3&end=16
$queryvars = explode("&", $parsedurl["query"]);
// Loop through each queryvar, split on "="
于 2013-10-08T09:07:12.273 に答える
1

この正規表現を使用して(最善の解決策ではないことはわかっています)しばらくの間、ビデオ ID を取得しましたが、これまでのところ問題はありませんでした。クエリ文字列 url だけでなく、さまざまな url 形式で機能します。

if(preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $matches)
{
  $videoId = $matches[1];
}

動画 ID があれば、必要な URL を作成するだけで、サムネイルを取得することもできます。

もちろん、クエリ文字列の URL のみをターゲットにしている場合は parse_url() の方が優れていますが、別の形式 (たとえば、ユーザーが CMS 用に指定した URL) を処理する必要がある場合は、正規表現に戻す必要があります。

于 2013-10-08T09:16:36.373 に答える