Ciao a tutti,
ho un problema, nel mio sito, faccio il parser di una pagina con il seguente codice:
Codice PHP:
if ($idserv == '17') {
$url = "http://www.sito.it/pagina.asp?id=$id";
$raw = file_get_contents($url);
$newlines = array("\t","\n","\r","\x20\x20","\0","\x0B");
$content = str_replace($newlines, "", html_entity_decode($raw));
$start = strpos($content,'<tr><td class="cellericerca">');
$end = strpos($content,'</table>',$start) + 8;
$table = substr($content,$start,$end-$start);
preg_match_all("|<tr(.*)</tr>|U",$table,$rows);
foreach ($rows[0] as $row){
if ((strpos($row,'<th')===false)){
preg_match_all("|<td(.*)</td>|U",$row,$cells);
$Nome = strip_tags($cells[0][0]);
$Cognome = strip_tags($cells[0][2]);
$status = strip_tags($cells[0][3]);
echo "{$Nome} - {$Cognome}
{$status}
<hr>\n";
}
}
}
Il tutto funziona, nel senso che passandogli un ID lui va alla ricerca del record e mi mostra i dati delle celle che mi servono. Il problema e che se non trova alcun record relativo all'ID passato, il programma mi butta fuori comunque del testo preso da altri prima del </table>.
Come posso intercettare la mancanza di un ID e quindi far mostrare un messaggio di Dati non trovati?
Grazie a tutti.
Come po