1

RSS内のアイテムのYoutubeビデオIDを取得してサムネイルを決定するようにSimple RSS Readerを変更しようとしています.私は一見正しい軌道に乗っていますが、PHPではあまりうまくいきません.他の多くの人が、独自の Simple RSS Reader Mod for Joomla を変更するために使用しています....

この関数「getYTid」を作成して、ID を最後に URL Veriable 内に配置する方法を考えています。コードは @ 関数の 2 つの場所でオフになっており、最後に変数を宣言していますしかし、可能であれば、混合テキストで変数を宣言する構文をよりよく理解できる場所に私を案内してください。可能であれば、この問題に頻繁に遭遇するようです

function getYTid('$feed->itemLink') {

    $ytvIDlen = 11; // This is the length of YouTube's video IDs

    // The ID string starts after "v=", which is usually right after 
    // "youtube.com/watch?" in the URL
    $idStarts = strpos($ytURL, "?v=");

    // In case the "v=" is NOT right after the "?" (not likely, but I like to keep my 
    // bases covered), it will be after an "&":
    if($idStarts === FALSE)
        $idStarts = strpos($ytURL, "&v=");
    // If still FALSE, URL doesn't have a vid ID
    if($idStarts === FALSE)
        die("YouTube video ID not found. Please double-check your URL.");

    // Offset the start location to match the beginning of the ID string
    $idStarts +=3;

    // Get the ID string and return it
    $ytvID = substr($ytURL, $idStarts, $ytvIDlen);

    return $ytvID;

}
                $feedItem->feedImageSrc = 'http://i3.ytimg.com/vi/'$ytvID'/default.jpg';
4

2 に答える 2

0

これは、あなたのために簡単に調整できる実用的な例です:

function get_yt_id($yturl, $idlen) {

    $idchk_que = strpos($yturl, "?v=");
    $idchk_amp = strpos($yturl, "&v=");

    if ($idchk_que > -1 || $idchk_amp > -1) {

        if ($idchk_que > -1) {

            $yturl_exploded = explode("?v=", $yturl);

        }
        else if ($idchk_amp > -1) {

            $yturl_exploded = explode("&v=", $yturl);

        }
        $yturl_exp = $yturl_exploded[1];
        $ytid = substr($yturl_exp, 0, $idlen);

        return $ytid;

    }
    else {

        return "ID NOT FOUND";

    }

}

$id_from_yturl = get_yt_id("http://www.youtube.com/watch?v=YvbQ9G0yXeU&t=14m36s", "11");

print $id_from_yturl;
  • この機能がより防弾になるように少し編集しました...
于 2012-09-28T19:11:34.843 に答える
0

URL 文字列から YouTube ID を解析するには、正規表現を使用する必要があります。PHP での preg_match 解析

PHP で文字列を連結するには、ピリオドを使用します。

$feedItem->feedImageSrc = 'http://i3.ytimg.com/vi/' . $ytvID . '/default.jpg';
于 2012-09-28T19:08:36.033 に答える