使用foreach和简单的html dom解析器在内容之间插入div

时间:2014-06-10 07:52:37

标签: php html simpledom

我使用PHP简单的dom解析器,说我的标记就像这样

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

我试过

$banner = '<div class="ads">blablabla</div>';
foreach($html->find('tb') as $table){
    $table->outertext .= $banner;
}

但它会循环所有表格。我试过find('div[class="tb"][1]'),但它没有用。我希望div只出现在第一张和第二张表中。

1 个答案:

答案 0 :(得分:0)

首先,您正在尝试使用类 tb 查找div,而您应该查找表元素。接下来,要追加&#39;如果现有文本的值为$banner,则需要使用.=运算符,以便不删除表格代码。最后,您保存更改。代码应如下所示:

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

$html->save();

输出结果为:

<table class="tb">..</table><div class="ads">banner</div>  <table>..</table>  <table>..</table>