2014-10-10 38 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').'">'; 
     } 
    }