Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    5

    Scaricare HTML pagine - regxp

    Salve,
    ho un piccolo quesito.

    So qualcosa di PHP ma ho problemi con le espressioni regolari nella situazione in cui sto, e cioè creare uno script che scarichi l'intero html di una pagina, quindi tra il tag <html> e </html>, e lo salvi in un file .html.

    Come potrei fare?

    Grazie mille in anticipo a tutti.

  2. #2
    A che ti servono le espressioni regolari? Per fare quello che chiedi basta una riga:

    Codice PHP:
    file_put_contents('output.html'file_get_contents('http://pagina.da/scaricare')); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    5
    in effetti

    grazie mille k.b!

    Per poi modificare solo una riga di codice, quella riguardante il css, della pagina scaricare, devo aprire il file in lettura/scrittura e utilizzare le regxp per trovare la riga giusta, esatto?

  4. #4
    In linea generale si. Se devi modificare la pagina che scarichi, puoi farlo prima di salvarla: la apri con file() che ti mette tutte le righe in un'array, lavori sull'array e poi salvi il tutto sul file di destinazione.

  5. #5
    il sistema dell'array è sconveniente, perché non solo consuma molta più memoria, ma in aggiunta è praticamente sicuro che ci saranno tag su più linee e non potrai gestirli facilmente/correttamente con le espressioni regolari o con qualsiasi altro metodo.

    piuttosto leggi il file usando file_get_contents e usi le espressio regolari sul buffer che restituisce, in questo modo non hai problemi di sorta

    se hai necessità di tecniche più avanzate puoi sempre usare le tidy
    www.php.net/preg
    www.php.net/tidy

    PS: spero che per espressioni regolari non intenda le ereg ma le preg

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    5
    Codice PHP:
    $pagina file('http://pagina.da/scaricare'); 
    poi dividerla mettendo ogni riga in un array e cercare quella contenente il css

    Codice PHP:
    <link href="folder/style.css" rel="stylesheet" type="text/css" /> 
    ricercare la riga qui sopra riportata, nell'array, come si fa?

    Grazie mille

    EDIT: ho aggiornato ora vedendo il nuovo post di daniele_dll
    intendo le preg si

    file_get_contents in pratica inserisce il contenuto del file in una stringa, rendendo inutile l'uso in precedenza di file() o sbaglio?

    dopodichè agira sulla su detta stringa con le preg per cercare la riga del css, sosotituirlo in qualche modo, e salvare l'output in un file .html da visualizzare col browser, è corretto come procedimento?

    Grazie a entrambi

  7. #7
    Si e' corretto. In effetti ha ragione daniele, lavorando con il testo in una unica stringa e' piu' agevole trovare/modificare quello che ti serve.

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.