Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 38
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59

    Script PHP per estrarre URL da una pagina

    Salve a tutti, sto modificando uno script in php che ho trovato su internet, il quale estrae da una pagina tutti i link e li elenca uno sotto l'altro.

    Lo script è questo: http://www.roscripts.com/Extract_url_with_PHP-77.html

    La modifica che devo fare è quella di far salvare i risultati in un file di testo e sto utilizzando la funzione fopen e fwrite per fare ciò.

    Però non riesco a capire quale variabile dargli per far salvare il risultato.

    Il risultato mostrato viene visualizzato grazie al "return $html;" ma se cerco di salvare o di mostrare la variabile $html mi mostra il contenuto della pagina per intero, e non gli url.

  2. #2
    Hai ancora molto da imparare su PHP...

    questa è la parte che ti interessa:

    Codice PHP:
      preg_match_all ("/a[\s]+[^>]*?href[\s]?=[\s\"\']+".
                        
    "(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a>/",
                        
    $var, &$matches);
            
        
    $matches $matches[1];
        
    $list = array();

        foreach(
    $matches as $var)
        {    
            print(
    $var."
    "
    );
        } 
    devi printare il contenuto dell'array multidimensionale $matches[1]

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Si lo so..a breve devo comprare un manuale.

    Comunque ho aggiunto un print $matches[1]; ma non mi ha mostrato nulla.

  4. #4
    Originariamente inviato da Zed92
    Si lo so..a breve devo comprare un manuale.

    Comunque ho aggiunto un print $matches[1]; ma non mi ha mostrato nulla.
    E' un ARRAY.
    prova a scrivere
    Codice PHP:
    echo $matches[1][0];
    echo 
    $matches[1][1];
    echo 
    $matches[1][2]; 
    se non mostra ancora nulla c'è un errore nella regex o nella pagina.

  5. #5
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    dove c'è:

    Codice PHP:
        foreach($matches as $var)
        {    
            print(
    $var."
    "
    );
        } 
    sostituisci con:

    Codice PHP:
        foreach($matches as $var)
        {    
            
    file_put_contents("url.txt"$varFILE_APPEND);
        } 

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Ok grazie mille funziona.

    Un ultimo problema che riscontro con fopen, non riesce ad aprire url che hanno al suo interno caratteri come ": _ - ecc"

    Mi mostra il seguente errore:
    Warning: fopen(WWW.URL.COM) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in C:\xampp\htdocs\esempio.php on line 61

    Ho provato già qualche codifica dell'url senza successo.. qualcuno sa come rimediare?

  7. #7
    Usa file_get_contents() invece di fopen()...

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Ho provato cosi:
    Codice PHP:
    $hfile file_get_contents($url,"r");
                if(
    $hfile){
                    while(!
    feof($hfile)){
                        
    $html.=fgets($hfile,1024);
                    } 
    Ma credo che si devono modificare anche il feof e fgets, perchè mi da diversi errori con quei comandi.

  9. #9
    LoL è ovvio

    file_get_contents() salva tutto il contenuto della pagina in una variabile, quindi togli pure quelle parti...ovviamente adattando il resto...

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    59
    Però non ho ben capito quel ciclo cosa fa O_o

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.