Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Paginetta con funzionalità spider

    salve a tutti per un'azienda devo realizzare una specie di spider che girerà in una intranet

    i dati che dovrò recuperare da ciascuna pagina sono sempre gli stessi e stavo cercando un modo per identificare con precisione delle "label" in modo tale da poterle identificare tramite regExp .

    Il primo problemino è il seguente recuperato il codice di una pagina dovrei iterare tra tutti i links che hanno come testo la voce "Dettagli magazzino"

    quindi ipotizzando che il link sia cosi composto

    Dettagli magazzino

    quale sarebbe la migliore regExp per identificare appunto la stringa DETTAGLI MAGAZZINO e poi recuperare il contenuto di href e quindi seguire il link ?!

    spero di essere stato chiaro

  2. #2
    L'oggetto del thread è piuttosto fuorviante, comunque:

    Codice PHP:
    $pattern '#<a[^>]*>Dettagli magazzino</a>#si'

  3. #3
    hai ragione chiedo scusa ...

    in effetti i dubbi sono molteplici ma tutti nascono dal fatto che devo realizzare questa paginetta con funzionalità da spider

    hai qualche consiglio su come estrarre l'href dal link che fa riferimento a "Dettagli magazzino" ?

  4. #4
    ciao Filippo avrei bisogno di una piccola precisazione

    se il link che cerco ha uno spazio tra la parentesi angolare e la dicitura "dettagli magazzino" l'espressione regolare non è valida giusto ?!!?

    ho provato l'epressione regolare che non mi funziona nel caso in cui ci siano degli spazi prima e dopo il testo del link

    come posso ovviare a questo problema ?
    io ho pensato di modificare il tuo pattern con

    $pattern = '#<a[^>]*>[ ]*Dettagli magazzino[ ]*</a>#si';

    ma ovviamente non funziona

  5. #5
    Ho tentato altre strade

    $pattern = '#<a[^>]*>(?\t)Dettagli magazzino(?\t)</a>#si';

    $pattern = '#<a[^>]*>(?\t\r\n)Dettagli magazzino(?\t\r\n)</a>#si';

    ma non mi viene estratto nulla
    l'array è sempre vuoto


    un eventuale attributo title prima dell'href non dovrebbe disturbare vero !?

  6. #6

  7. #7
    [*]<a title="Dettagli" href="/link_molto_lungo_evito_di_postarlo">
    Dettagli magazzino
    </a>

  8. #8
    Codice PHP:
    $pattern '#<a[^>]*>\\s*Dettagli magazzino\\s*</a>#si'

  9. #9
    niente facendo un print_r()

    ottengo solo
    Array ( [0] => Array ( ) )

    ho provato anche ad aggiungere il carattere \

    prima della chiusura del tag A
    $pattern = '#<a[^>]*>\s*Dettagli magazzino\s*<\/a>#si';

    ma nulla

    ho provato qualche altro link senza spazi malvagi prima e dopo il testo del collegamento e mi vengono correttamente restituiti

  10. #10
    Convinto tu ...

    Codice PHP:
    <pre>
    <?php 
    $string 
    '[*]<a title="Dettagli" href="/link_molto_lungo_evito_di_postarlo">
    Dettagli magazzino
    </a>'
    ;
    $pattern '#<a[^>]*>\\s*Dettagli magazzino\\s*</a>#si';

    preg_match($pattern$string$matches);
    print_r($matches);

    ?>
    </pre>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.