1

我正在使用 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 在第一个和第二个表中只出现一次。

4

1 回答 1

0

首先,您正在尝试查找类tb的 div,而您应该查找 table 元素。接下来,要使用该值“附加”现有文本$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>
于 2014-06-10T08:14:28.600 回答