仅在循环的第一个结果之后放置文本?

时间:2018-01-12 10:57:14

标签: php wordpress

目前我有这个循环。

foreach ($html2->find('.entry-content img') as $image) {
    $path = $image->src;    
    $start = '<img src="'.$path.'" style="height: auto; width: 100%;margin-bottom: 3px;">';
    print htmlspecialchars($start); print '<br>';
}

使用 simple_html_dom.php 从网站抓取一些图片,这部分工作正常。但是我需要这样做,以便在foreach循环中的第一个结果 之后返回WordPress <!--more-->标记。

我怎样才能实现这个目标?

由于

2 个答案:

答案 0 :(得分:2)

您可以尝试检查它是否是循环期间的第一个,如下所示:

$first = TRUE;

foreach ($html2->find('.entry-content img') as $image) {
$path = $image->src;    
$start = '<img src="'.$path.'" style="height: auto; width: 100%;margin-bottom: 3px;">';

if($first){
    $start .= "<!--more-->";
    $first  = FALSE;
}

print htmlspecialchars($start); print '<br>';
}

答案 1 :(得分:0)

一个简单的if可以完成这项工作

$cond = false;
foreach($html2->find('.entry-content img') as $image) {
//Always done
if (!$cond) {
  //Will be called only during the first iterration
  $cond = true;
 }
else if ($cond){
  //This part will always be executed after the first iterration
 }
}