使用DomDocument将元素与另一个元素相关联?

时间:2016-10-25 20:24:24

标签: php dom domdocument

我在父亲div中有一个名为results_all的树div,如下所示:

<div id="results_all">

<div class="result_information">
</div>

<div class="result_information">
</div>

<div class="result_information">
</div>

</div>

我想要做的就是让所有类名为result_information的div,包含以下代码<tr><th>

这样最终的结果是:

<tr><th>
<div class="result_information">
</div>
</th></tr>

<tr><th>
<div class="result_information">
</div>
</th></tr>

<tr><th>
<div class="result_information">
</div>
</th></tr>

如何使用DomDocument和PHP一起做这种事情?

1 个答案:

答案 0 :(得分:0)

这将使用DOMXPath匹配该类,然后只是在循环结果时输出匹配内容和相应标记的情况。

$html = '<div id="results_all">

<div class="result_information">
test3
</div>

<div class="result_information">
test2
</div>

<div class="result_information">
test
</div>

</div>
';

$classname = 'result_information';
$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$results = $xpath->query("//*[contains(@class, '$classname')]");


for($i = 0; $i < $results->length; $i++ ){
  print '<tr><th><div class="result_information">' . $results->item($i)->nodeValue . '</div></tr></th>';
}