2

XML アクセスからパラメータ「期間」の値を見つける方法を探しています

ソース: http://gdata.youtube.com/feeds/api/videos/bSCs7NzghSg

私は次のようなものを試しました:

        preg_match('#<yt:duration seconds=\'(.*?)\'/>#is',$xml,$resultduration);
    $duration = $resultTitre[count($resultduration)-1];

しかし、値は0を返します

4

2 に答える 2

0

これは、SimpleXML で実行できます。メソッドを使用しchildren()て子を検索し、メソッドを使用しattributes()て属性にアクセスします。

そのための関数を次に示します。

function getDuration($url) {
    $xml = simplexml_load_file($url);
    $duration =  $xml->children('media', true)
                  ->group->children('yt', true)
                    ->duration->attributes('', true)->seconds;
    return $duration; 
}

使用法:

$url = 'http://gdata.youtube.com/feeds/api/videos/bSCs7NzghSg';
echo getDuration($url); // => 2461

デモ!

于 2013-11-07T18:55:14.747 に答える