0

我有一个数据表,我想捕获元素内部的文本,该文本紧跟一个元素内部,该元素内部有一个标签,标题属性为“标签”。请参阅此处的表格:

<table>
<tr>
    <th><label title="Country">Country</label></th>
    <td>I want to capture this text</td>
</tr>
<tr>
    <th><label title="Other">Heading I don't need</label></th>
    <td>Cell I don't Need</td>
</tr>
</table>

我能找到的唯一可识别特征是 td 前面有一个 th ,其内部有一个标签,该标签具有唯一的 title 属性。

首先,我在没有标签的情况下尝试了它,因为我知道这将是第一个结果:

$found = $html->find('tr th')->next_sibling();
echo($found[0]);

但这似乎不是下一个兄弟的正确用法。有人可以告诉我如何正确使用它来获取元素后面的元素吗?如果有办法将该标签与其独特的标题属性结合起来,那就更好了。

4

1 回答 1

0

有人可以告诉我如何正确使用它来获取元素后面的元素吗?

下一个兄弟不返回其内容。相反,你应该使用 first_child()。

如果有办法将该标签与其独特的标题属性结合起来,那就更好了。

你是什​​么意思'合并'?您可以使用 find() 来获取每个标签的内容,不管它是否有标题。如果您想获取具有指定标题的标签内容,那么您应该在 find() 中提及您的标题。我建议你阅读手册:http ://simplehtmldom.sourceforge.net/manual.htm

于 2012-10-09T06:45:58.047 回答