2014-09-05 142 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