2014-10-10 40 views
0

我有以下代碼來獲取博客文章中的隨機圖片,但我只想獲取第一個。我如何重寫代碼來解決我的問題?選擇第一個圖像,而不是隨機

preg_match_all('/<img[^>]+>/i', $row["content"], $var); 
    if(!count($var[0]) == 0) 
    { 
     $randomPic = array_rand($var[0], 1); 
     $DOM->loadHTML($var[0][$randomPic]); 
     $tag = $DOM->getElementsByTagName('img'); 
     foreach ($tag as $i) { 
      echo '<img src="'.$i->getAttribute('src').'">'; 
     } 
    } 

回答

2

我認爲,僅僅通過

$DOM->loadHTML($var[0][0]); 

更換

$randomPic = array_rand($var[0], 1); 
$DOM->loadHTML($var[0][$randomPic]); 

會做的伎倆。這樣,你明確地從數組中獲得第一個元素。

+0

這工作,謝謝。 – kanarifugl 2014-10-10 13:13:28

+0

不客氣! – SolarBear 2014-10-10 13:14:48

0

簡單的方法是這樣的:

preg_match_all('/<img[^>]+>/i', $row["content"], $var); 
    if(!count($var[0]) == 0) 
    { 
     $randomPic = $var[0]; // Only line I changed is this 
     $DOM->loadHTML($var[0][$randomPic]); 
     $tag = $DOM->getElementsByTagName('img'); 
     foreach ($tag as $i) { 
      echo '<img src="'.$i->getAttribute('src').'">'; 
     } 
    } 
相關問題