开发者

how to combine 3 results in 1 foreach (PHP html DOM)

<?php 
require_once("simple_html_dom.php");
$str = '<div class="content"><span>text1</span><span>text2</span><span>text3</span><span>text4</span><span>text5</span><span>text6</span><span>text7</span><span>text8</span><span>text9</span><span>text10</span><span>text11</span><span>text12</span><span>text13</span><span>text14</span><span>text15</span>&开发者_JS百科lt;span>text16</span></div>';
$dom = html_entity_decode($str);
$html = str_get_html($dom);
foreach($html->find('span') as $e) 
    echo $e . '<br>';
?>

In this code, it can echo every span in one line. But how do I write it so that 3 results will combine in one foreach?

I need a result like:

text1 text2 text3 <br />
text4 text5 text6 <br />
text7 text8 text9 <br />
text10 text11 text12 <br />
text13 text14 text15 <br />
text16


Use the modulus operator % in your foreach loop.

$counter = 1;
foreach ($html->find('span') as $e) {
    echo $e;

    if ( ($counter % 3) == 0 ){
      echo '<br />';
    }
    ++$counter;
}


You can set an integer and use mod to obtain the remainder.

$i = 1;
foreach($html->find('span') as $e)
{
    echo $e;
    if (($i % 3) == 0) echo '<br />';
    $i++;
}


One way is to have a seperat variable to keep the number per line.

Then that number reaches 3 you break the line with either a
or and start a new one resetting the variable.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜