使用php foreach在内容之间插入自定义html实体

时间:2014-06-10 18:25:33

标签: php html

我使用简单的dom parrser http://simplehtmldom.sourceforge.net/manual.htm

我说像这样的表

<table class="tb">...</table>
<table class="tb">...</table>
<table class="tb">...</table>
<table class="tb">...</table>
<table class="tb">...</table>

我做

$ads = "<div>ads banner here</div>";

foreach($html->find('div[class="tb"]') as $element){
       echo $element->src . '<br>';
       $element->outertext .= $ads;
}

然后广告横幅将遍历所有表格,我将获得5个广告块...如何限制数字?就像我只想在第一张和第二张桌子上出现一个广告块。

1 个答案:

答案 0 :(得分:0)

foreach($html->find('div[class="tb"]') as $i => $element){

假设数组使用索引键$i是你的迭代索引,从零开始,那么限制数量会在你有足够的时候打破循环

foreach($html->find('div[class="tb"]') as $i => $element){
    if ($i > 0) break; // show only the first
    // if ($i > 4) break; // show the first 5
    echo $element->src . '<br>';
    $element->outertext .= $ads;
}

如果您使用的是关联数组,则需要计算。

$i = 0;
foreach($html->find('div[class="tb"]') as $element){
    $i++;
    if ($i > 1) break; // show only the first
    // if ($i > 5) break; // show the first five
    echo $element->src . '<br>';
    $element->outertext .= $ads;
}