我正在使用phpQuery从元素中获取数据。
我正在尝试从每个td
获取前td
,秒href
和tr
链接的值。
<table>
<tr class="A2">
<td> Text 1 </td>
<td> Text 2 </td>
<td> Text 3 </td>
<td> <a href="linkhere1"> Text 131</a> </td>
</tr>
<tr class="A2">
<td> Text 4 </td>
<td> Text 5 </td>
<td> Text 6 </td>
<td> <a href="linkhere2"> Text 123213</a> </td>
</tr>
<tr class="A2">
<td> Text 7 </td>
<td> Text 8 </td>
<td> Text 9 </td>
<td> <a href="linkhere3.php"> Text 213213 </a> </td>
</tr>
</table>
怎么做?我试过了:
<?
require('phpQuery.php');
$file = file_get_contents('test.txt', true);
$html = phpQuery::newDocument($file);
foreach($html->find('.A2') as $tag) {
echo pq('td'); // problem here?
}
?>
答案 0 :(得分:9)
我猜你有他们换过..
foreach(pq('.A2') as $tag) {
$tds = pq($tag)->find('td');
}
要从每个td获取一个值,您可以在其中迭代它:
foreach(pq('.A2') as $tag) {
foreach(pq($tag)->find('td') as $td) {
// stuff
}
}
答案 1 :(得分:2)
pq()
会返回匹配节点列表(在这种情况下为您的<td>
标记)。你必须遍历该列表:
foreach(pq('td') as $td) {
... do something ...
}