Ciao a tutti!
Devo estrarre dei dati da una pagina HTML che potete vedere qui: http://cnt.rm.ingv.it/~earthquake/in...ml_selection=0. Devo estrarre i dati di tutta la tabella per poi elaborarli in un secondo momento organizzando il tutto in db. Il problema ce l'ho con l'estrazione di tali dati.
La cosa che inizialmente ho fatto è cercare di estrarre e rendere "visibili" con dei caratteri notevoli (tipo XXX o ***) le righe della tabella. L'HTML originale di ogni riga è il seguente:
Codice PHP:
<tr>
<td class="td_events">2206515190</td>
<td class="td_events"></td>
<td class="td_events">2009/04/07</td>
<td class="td_events">08:00:52</td>
<td class="td_events">42.383</td>
<td class="td_events" width="45px">13.401</td>
<td class="td_events">15.1</td>
<td class="td_events">Ml:3.2</td>
<td class="td_events"></td>
<td class="td_events">Aquilano</td>
<!--
COMMENTI VARI
-->
</tr>
Per tanto ho buttato giù questo codice php (scritto molto alla svelta):
Codice PHP:
<?php
$page = file_get_contents('http://cnt.rm.ingv.it/~earthquake/index_web_cnt.php?year=2009&month=04&ml_selection=0');
$format=ereg_replace("<td class=\"td_events\">", "XXX", $page);
$format=ereg_replace("<td class=\"td_events\" width=\"45px\">", "XXX", $format);
$format=ereg_replace("", "AAA", $format);
$page=ereg_replace("XXXAAA", " ", $format);
$posini=strpos($page,"XXX");
$posfin=strpos($page,"<!--");
$lensub=$posfin-$posini;
$page1=substr($page, $posini, $lensub);
echo"$page1";
?>
Il file HTML di prima mi diventa con tale formattazione:
Codice PHP:
<tr>
XXX1206517890</td>
</td>
XXX2009/04/07</td>
XXX12:29:00</td>
XXX42.461</td>
XXX13.412</td>
XXX8.3</td>
XXXMl:3.3</td>
</td>
XXXGran_Sasso</td>
<!--
COMMENTI VARI
-->
</tr>
Comunque sia, una volta formattato, l'ultimo echo del codice mi visualizza qualcosa che non mi aspettavo.
Infatti dal codice che ho inserito, mi aspettavo di trovare in output solo la prima riga della tabella, poichè ho fatto un substr con la posizione iniziale che sarebbe la posizione di XXX2206515190 della prima riga della tabella e lunghezza pari alla differenza tra la posizione della stringa di chiusura di una riga "<!--" (ogni riga si chiude con questo simbolo di commento) e la posizione iniziale trovata prima.
Invece mi ritrovo in output tutte righe in tabella tranne (e questa è una cosa strana) l'ultima che la vedo troncata e quindi la vedo in modo parziale.
Perchè ho questo output?
Come faccio a risolvere questo problema?
Per come la vedo io è un problema di fondo relativo alla mia incapacità e non un problema di difficoltà assoluta. C'è qualcosa che mi sfugge ma è da un pò che ci sbatto la testa ed è per questo che chiedo a voi.
Grazie in anticipo a tutti coloro che mi scriveranno!
Andriy