【问题标题】:PHP-Loop through html table and get label textPHP-循环通过html表格并获取标签文本
【发布时间】:2014-09-05 10:41:41
【问题描述】:

我有一个 HTML 表格,它的每一行都用一个唯一的 ID 标识。我正在尝试在其中一行中获取标签文本。我尝试使用$dom->getElementById($id);,但这提供了该元素下的所有文本值。

结构如下:

<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-&gt;getElementById('2'); 代码。它同时提供所有值。

输出

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

我怎样才能只得到标签文本。

【问题讨论】:

    标签: php parsing domdocument


    【解决方案1】:

    你试过getElementsByTagName吗?例如。 :

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

    (已编辑):

    那么您就可以访问这些项目了:

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

    【讨论】:

    • 它只返回长度。 object(DOMNodeList)#416 (1) { ["length"]=&gt; int(2) }
    • 那么,您应该可以访问 item(x)。我会编辑答案。
    • 完美。我不认为可以以这种方式访问​​元素。感谢您的帮助...
    猜你喜欢
    • 2013-12-01
    • 1970-01-01
    • 2015-04-17
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    相关资源
    最近更新 更多