PHP Simple HTML DOM Parser encontrando texto específico

Tentando obter dados desse formato HTML mal criado

http://www.weather.gov.sg/lws/zoneInfo.do 

Tudo o que preciso é obter dados para 3 lugares, por exemplo, Bedok, City e Katong. Como faço para armazenar os dados em uma matriz para isso?

Isto é o que eu fiz para obter a loja as primeiras 5 linhas, o que não é exatamente o que eu quero.

 $row_counter='0'; while($row_counterfind('.FORM1', $row_counter)->innertext; $ret['Area'][] = $html->find('.FORM1', $row_counter)->next_sibling()->innertext; $ret['Alert'][] = $html->find('.FORM1', $row_counter)->next_sibling()->next_sibling()->innertext; $ret['From'][] = $html->find('.FORM1', $row_counter)->next_sibling()->next_sibling()->next_sibling()->innertext; $ret['Till'][] = $html->find('.FORM1', $row_counter)->next_sibling()->next_sibling()->next_sibling()->next_sibling()->innertext; $row_counter++; } 

Posso armazenar dados com sucesso para toda a linha e todas as colunas. Qual é a maneira mais eficiente de procurar um determinado nome, por exemplo, Bedok e obter as colunas ao lado dele, como next_sibling?

Obrigado.

Não é fácil. Experimente as coisas primeiro e pergunte. (:

 < ?php include 'simple_html_dom.php'; $html = file_get_html('http://www.weather.gov.sg/lws/zoneInfo.do'); $n = 0; $table = $html->find('table',3)->find('table',0)->find('table',0)->find('table',0)->find('table',3)->find('table',0); $i = -3; $rows = $table->find('tr'); $holder = array(); foreach($rows as $element){ $i++; if($i < 0) continue; $holder[$i]['name'] = $element->find('td',0)->plaintext; $holder[$i]['zone_or_school'] = $element->find('td',1)->plaintext; $holder[$i]['risk'] = $element->find('td',2)->plaintext; $holder[$i]['from'] = $element->find('td',3)->plaintext; $holder[$i]['till'] = $element->find('td',4)->plaintext; } var_dump($holder); ?> 

se você quiser obter um dado específico, então você pode filtrar:

 foreach($holder as $key => $val) { if($holder[$key]['name']=='Bedoc') $my_data = $holder[$key]; } 

Este código não é depurado porque estou no celular agora. Mas talvez você tenha a ideia se não funciona. obrigado