Visualizzazione risultati 1 fino 3 di 3

Discussione: [PHP] Prelevare elementi da ul

  1. #1
    Guest

    Predefinito [PHP] Prelevare elementi da ul

    Salve a tutti, con preg_match_all sto provando a prelevare i punti (li) presenti nelle 2 liste (ul) all'interno di un file (html). Ecco il codice che sto usando:
    Codice PHP:
    $file = file_get_contents("ril_export.html");
    #echo "<pre>"; print_r(htmlspecialchars($file));

    echo preg_match_all("#<ul>(.*?)</ul>#",$file,$ul);
    echo
    "<pre>"; print_r($ul);
    Il risultato è un array vuoto contente 2 indici... penso siano le liste:
    0
    Array
    (
    [0] => Array
    (
    )

    [1] => Array
    (
    )

    )

    Sapete aiutarmi? Grazie mille!
    PS. Buone feste!

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Immagino che il codice sia indentato, dunque includerà anche ritorni a capo, che però non verranno inclusi nel tuo risultato poiché il punto (.) rappresenta tutti i caratteri meno che i ritorni a capo.
    Per risolvere applica all'espressione il flag s (aggiungilo dopo l'ultimo cancelletto).
    Comunque quando si tratta di estrarre dati da documenti (X?)HTML è sempre meglio analizzare il documento con un adeguato parser (ce ne sono già inclusi nelle librerie standard del PHP) e poi ottenere i dati necessari con i metodi del DOM o più semplicemente con XPATH.
    Ultima modifica di karl94 : 28-12-2011 alle ore 00.23.40

  3. #3
    Guest

    Predefinito

    Non ricordavo che bisognasse usare questo flag... Grazie mille!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •