Visualizzazione risultati 1 fino 5 di 5

Discussione: Funzionamento regex

  1. #1
    Guest

    Predefinito Funzionamento regex

    Ciao a tutti:) ho dei problemi a far funzionare delle regex che in locale non mi danno problemi:
    Codice PHP:
    <?php
    $html
    = implode('', file('http://watchdelivery.altervista.org/'));
    if(
    preg_match_all("/<li>(.+)<\/li>/",$html,$result))
    print_r($result[1]);
    ?>
    Utilizzo da poco il servizio Altervista, quindi mi è venuto il dubbio che ci sia qualche cosa da abilitare,ma il php info mi dà già abilitati i pcre.
    Qualche consiglio?

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Più che un problema di regexp, è un problema relativo alle connessioni esterne.
    Da chiarire: qualsiasi percorso che incomincia con http:// va considerato come esterna.

    Usa i percorsi locali ( ./index.php, index.php, ../index.html ), dato che vuoi accedere aun file locale.
    Inoltre, non so se potrebbe servirti in futuro, fai una ricerca sul forum riguardante le connessioni server2server.
    Ultima modifica di javascripter : 22-08-2011 alle ore 18.48.19

  3. #3
    Guest

    Predefinito

    grazie della risposta=)!
    in realtà mi serve proprio l'html di una pagina esterna.Mi spiego, sto creando un sistema di tracciamento pacchi; quel che fà il programma è fare una richiesta a Bartolini(Ad esempio),ricavare l'html e parsarlo con le regex,per poi inviare i risultati su un'altra pagina:
    Codice PHP:
    $url='http://as777.bartolini.it/vas/sped_det_show.hsm?referer=sped_numspe_par.htm&Nspediz='.$stringa.'&RicercaNumeroSpedizione=Ricerca';
    $html= implode(" ", file($url));
    $regexp="/<table.*>Mittente<\/label><\/td>\s+<td>\s+&nbsp;(\w+\s*\w*).+Destinatario<\/label><\/td>\s+<td>\s+&nbsp;(\w+\s*\w*).+Distinta\s\w+<\/label><\/td>\s+<td>.+del<\/label>&nbsp;(\d+\/\d+\/\d+).+Fattura.+<\/table>\s+<br>/s";
    if(
    preg_match_all($regexp,$html,$result)){
    $_SESSION['partenza']=$result['1']['0'];
    $_SESSION['destinazione']=$result['2']['0'];
    $_SESSION['data']=$result['3']['0'];
    header('location:./result.php?codice='.$to.'&partenza='.$_SESSION['partenza'].'&destinazione='.$_SESSION['destinazione'].'&data='.$_SESSION['data'].'');
    }
    dove sbaglio?
    Ultima modifica di watchdelivery : 22-08-2011 alle ore 19.42.46

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Devi sbloccare le connessioni server2server dal pannello di controllo.

    Ciao!

  5. #5
    Guest

    Predefinito

    Grazie ad entrambi,ora funziona perfettamente!

Regole di scrittura

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