1

我正在尝试使用 simple-html-dom构建刮板。

每个 tr 都有类“事件列表”以及一个唯一的 id。一切正常,但我不知道如何获取和存储 ID。

这是我的代码:

foreach($html->find('tr[class=event-listing]') as $event) 
     {
       $item['date'] = trim($event->find('td', 0)->plaintext); 
       $first_trim = ltrim($event->find('td', 1)->plaintext, 'at ,vs.');
       $item['opponent'] = rtrim($first_trim, ' * '); 
       $item['location'] = trim($event->find('td', 2)->plaintext); 
       $item['time'] = trim($event->find('td', 3)->plaintext);
       $sched[] = $item;
     }
4

1 回答 1

3

你不需要任何特别的东西$event->id就可以了

$string = '<tr valign="TOP" bgcolor="#d1d1d1" class="event-listing" title="2012,4,18,21,00,00" id="1444896"> <td class="row-text">&nbsp;</td> <td class="row-text">vs. Northern Colorado *</td> <td class="row-text">Orem, Utah</td> <td class="row-text">W, 11-6</td> </tr>';
$html = str_get_html($string);

$sched = array();
foreach ( $html->find('tr[class=event-listing]') as $event ) {
    $item['date'] = trim($event->find('td', 0)->plaintext);
    $first_trim = ltrim($event->find('td', 1)->plaintext, 'at ,vs.');
    $item['opponent'] = rtrim($first_trim, ' * ');
    $item['location'] = trim($event->find('td', 2)->plaintext);
    $item['time'] = trim($event->find('td', 3)->plaintext);
    $item['id'] = $event->id;
    $sched[] = $item;
}

var_dump($sched);

输出

array
  0 => 
    array
      'date' => string '&nbsp;' (length=6)
      'opponent' => string 'Northern Colorado' (length=17)
      'location' => string 'Orem, Utah' (length=10)
      'time' => string 'W, 11-6' (length=7)
      'id' => string '1444896' (length=7)
                         ^------------------------------ ID Captured 
于 2012-10-14T21:06:26.343 回答