0

を使用してHTMLサイトからいくつかのURLを取得します

foreach($html->find('source') as $video)                   
    if($video->type =='video/mp4')  {

        echo $video->src. '<br>';

私の出力は次のようになります:

http://video.csfd.cz/321/321909/130228151/360.mp4
http://video.csfd.cz/321/321909/130228151/720.mp4
http://video.csfd.cz/321/321909/99476124/360.mp4
http://video.csfd.cz/321/321909/99476124/720.mp4
http://video.csfd.cz/321/321909/99476124/1080.mp4

このリンクの1つだけを取得する方法がわかりません。オブジェクトについてあまり知らないので、この問題を解決するのはかなり不可能に見えます。

私が試したこと:オブジェクトを配列に変換して操作することを考えていましたが、これは非常に簡単に聞こえますが、問題は次を使用する場合です:

$pole = (array)$video;
 echo "$pole[0]";

それは言います:

http://video.csfd.cz/321/321909/130228151/360.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61
http://video.csfd.cz/321/321909/130228151/720.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61
http://video.csfd.cz/321/321909/99476124/360.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61
http://video.csfd.cz/321/321909/99476124/720.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61
http://video.csfd.cz/321/321909/99476124/1080.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61

print_rを使用すると、出力は大量のコードのようになり、少なくとも1〜2倍のA4ページで、本当にクレイジーです

それで、これから特定の行を1つ取得する方法はありますか(どちらかを選択させてください)、またはこの出力を配列などに変換する方法はありますか?

4

1 に答える 1

0

オブジェクトを配列に変換するのは悪い考えです。基本的に、ループ中にリンクを配列に格納できます。これを試して :

$links = array();
foreach ($html->find('source') as $video) {               
    if ($video->type == 'video/mp4')  {
        array_push($links, $video->src);
    }
}

そして、$links好きなように配列を使用してください:

echo $links[0];
于 2013-07-16T15:53:51.400 に答える