2016-10-25 87 views
0

我有一個父親DIV中樹的div稱爲results_all,你可以看到如下:使用DomDocument將元素與另一個元素相關?

<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的東西?

+0

PHP不與DOM交互。你是用javascript來做這個客戶端,還是用PHP來渲染HTML服務器端? – Izkata

+0

我在PHP中的一個變量裏面有HTML,我在做其他事情之前使用了類domdocument。但這種事情我不知道如何解決... – Lacrifilm

+0

基本上是一個騙局:http://stackoverflow.com/questions/3524431/wrap-dom-element-in-another-dom-element-in-php –

回答

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>'; 
} 
相關問題