2014-09-05 135 views
0

我有一個HTML表格,其每一行都用一個唯一的ID標識。我試圖將標籤文本放在一行中。我嘗試了$dom->getElementById($id);,但它提供了在該元素下的所有文本值。PHP循環通過html表格並獲取標籤文本

這裏的結構:

<table> 
<tr id="1">.....</tr> 
<tr id="2"> 
<td> 
<span>Some text</span> 
</td> 
<td> 
. 
. //Some html elements 
. 
<table> 
<tbody> 
<tr> 
<td> 
<label>label1</label> 
</td>       //I want to collect these labels 
<td> 
<label>label2</label> 
</td> 
</tr> 
</tbody> 
</tabel> 
. 
. 
. 

我試着用這個$elements = $dom->getElementById('2');代碼。它提供了所有的值。

輸出

["nodeValue"]=> string(37) "Select your options *option 1option 2" 

我怎樣才能獲得唯一標籤文本。

回答

1

您是否試過getElementsByTagName?例如。 :

$elements = $dom->getElementById('2')->getElementsByTagName('label'); 

(編輯):

,那麼你就可以訪問該項目:

for($i=0;$i<$elements->length;$i++) { 
     echo "Item $i: " . $elements->item($i)->textContent . "\n"; 
} 
+0

它只返回長度。 '對象(DOMNodeList)#416(1){[「length」] => int(2)}' – james 2014-09-05 10:53:48

+0

然後,看起來你應該可以訪問item(x)。我會編輯答案。 – lpg 2014-09-05 10:58:13

+0

完美。我不認爲有可能以這種方式訪問​​元素。感謝幫助... – james 2014-09-05 11:05:39