简体   繁体   English

从每个td获取值

[英]Get the values from each td

I am using phpQuery to get the data from elements. 我使用phpQuery从元素中获取数据。

I'm trying to get the values from first td , seconds td and href link from each tr . 我试图从每个tr第一个td ,秒tdhref链接获取值。

<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>

How to do this? 这个怎么做? I have tried: 我努力了:

<?
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?
}
?>

I guess you have them switched.. 我想你有他们切换..

foreach(pq('.A2') as $tag) {
   $tds = pq($tag)->find('td');
}

To get a value from each td, you can iterate over it inside: 要从每个td获取值,您可以在其中迭代:

foreach(pq('.A2') as $tag) {
   foreach(pq($tag)->find('td') as $td) {
      // stuff
   }
}

pq() would return a list of matching nodes (your <td> tags, in this case). pq()将返回匹配节点的列表(在这种情况下,您的<td>标签)。 You have to iterate over that list: 你必须迭代该列表:

foreach(pq('td') as $td) {
   ... do something ...
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM