0

YouTube リンクから個々の ID を取得して、後でそれを使用して、サムネイル画像などの他の情報を取得し、埋め込まれた iframe に挿入したいと考えています。

YouTubeのすべてのURLがhttp://www.youtube.com/watch?v= 一意のビデオIDで始まり、いくつかのことに応じて&list=RD02M5u5zXVmoHM. ただし、一意の ID には常に前後&がありwatch?v=ます。これが最善の方法ですか?これを正しく書いていますか?

$link=$_POST['link'];
$link_id=str_replace('http://www.youtube.com/watch?v=', '', $link);
$link_id=strstr($link_id, '&', true);

これはフォーム データから取得されます。私が遭遇する可能性のある YouTube URL からの他の変数はありますか?

4

2 に答える 2

1

あなたがしたいことは、 http://php.net/pase_urlhttp://php.net/parse_strを次のように使用することです:

<?php
$info = parse_url("https://www.youtube.com/watch?v=DA57FOJSdM8");
parse_str($info["query"], $query);
print_r($query);

// Outputs: Array ( [v] => DA57FOJSdM8 )
于 2013-04-29T19:40:25.183 に答える
1

parse_url()parse_str( )の組み合わせは、PHP が面倒な作業を処理するより簡単な方法です。例:

$video_id = false;

$url_parts = parse_url($link);
$query_params = array();

if (isset($url_parts['query']))
{
    parse_str($url_parts['query'], $query_params);
}

if (isset($query_params['v']))
{
    $video_id = $query_params['v'];
}

そして今$video_id、あなたが必要とするIDが含まれています。

于 2013-04-29T19:38:51.967 に答える