使用DomDocument将一个元素与另一个元素关联起来


Using DomDocument to involve a element with another element?

在父div results_all中有3个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?

这将使用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>';
}