我的网页包含8个表格。我想解析第3个表
我的第1,第3,第5和第1页的页面来源第7表:(全部包含80个元素)
<table cellpadding="0" cellspacing="0" width="100%" border="0" class="cricket-performanceTable">
我的第2,第4,第6,第8表的页面来源:(元素因比赛而异)
<table cellpadding="0" cellspacing="0" width="100%" border="0" class="cricket-performanceTable noBorderTop">
所以我这样解析:
$name = $html->find('div[class=cricket-accorContent] table[class=cricket-performanceTable] td');
它一直工作到第一张桌子($ name [80])。
如果我打印($ name [81])它显示第二个表的第一个元素。但我想打印第3张桌子的第1个元素
尽管table[class= ]
不同。第一张表table[class=cricket-performanceTable]
对于第二张表:table[class=cricket-performanceTable noBorderTop]
我如何解析第三张表?
答案 0 :(得分:3)
试试这个:
$src = '<div class="cricket-accorContent">
<table cellpadding="0" cellspacing="0" width="100%" border="0" class="cricket-performanceTable"><tr><td>11</td><td>12</td></tr></table>
<table cellpadding="0" cellspacing="0" width="100%" border="0" class="cricket-performanceTable noBorderTop"><tr><td>21</td><td>22</td></tr></table>
<table cellpadding="0" cellspacing="0" width="100%" border="0" class="cricket-performanceTable"><tr><td>31</td><td>32</td></tr></table>
<table cellpadding="0" cellspacing="0" width="100%" border="0" class="cricket-performanceTable noBorderTop"><tr><td>41</td><td>42</td></tr></table>
</div>
';
$html = str_get_html($src);
$thirdTable = $html->find('div[class=cricket-accorContent] table', 2);
$firstTD = $thirdTable->find('td', 0)->plaintext;
$secondTD = $thirdTable->find('td', 1)->plaintext;
echo '-' . $firstTD . '-';
echo '-' . $secondTD . '-';
输出:
-31--32 -