Navigare HTML, scegliendo fra 2 tag uguali

di il
3 risposte

Navigare HTML, scegliendo fra 2 tag uguali

Salve a tutti.

Ho il seguente problema. Ho necessità di estrarre del codice html da una pagina web.

IL codice qui sotto funziona perfettamente con una sola tbody presente nel corpo della pagina.
Il problema è che di tbody alle volte ce ne sono 2 e a me serve estrarre la seconda, ed invece il codice estrae sempre la prima.

Non sono espertissimo di php, premetto.

Grazie.

$get = file_get_contents($url);

$pos1A = strpos($get, "<tbody>");
//identifico la prima occorrenza di apertura del tag form
$pos2A = strpos($get, "</tbody>", $pos1A);
//identifico la prima occorrenza di chiusura del tag form a partire da pos1

$DatoEstratto = substr($get,$pos1A,$pos2A-$pos1A+8);

3 Risposte

  • Re: Navigare HTML, scegliendo fra 2 tag uguali

    Se il programma funziona crea un array altrimenti non esiste tbody o errore del programma, io mi limito al var_dump ma puoi scorrere un array con foreach etc.
    <?php
    
    $get = file_get_contents($url);
    
    do {
    $pos1A = strpos($get, '<tbody>');
    //identifico la prima occorrenza di apertura del tag form
    $pos2A = strpos($get, '</tbody>', $pos1A);
    //identifico la prima occorrenza di chiusura del tag form a partire da pos1
    
    if($pos1A !== false && $pos2A > $pos1A)
    $get = '' . substr(substr($get, 0, $pos1A) . ($DatoEstratto[] = substr($get, $pos1A, $pos2A+8-($pos1A))) . substr($get, $pos2A+8), $pos2A+8);
    } while($get);
    if(isset($DatoEstratto))
    var_dump($DatoEstratto, $get);
    else
    echo 'non previsto da tale programma o non esiste <tbody>';
    
  • Re: Navigare HTML, scegliendo fra 2 tag uguali

    Sei stato gentilissimo. Grazie. Gianluca
  • Re: Navigare HTML, scegliendo fra 2 tag uguali

    Figurati ho aggiornato il codice al post precedente.
Devi accedere o registrarti per scrivere nel forum
3 risposte