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

    File testo: prendere valori da righe

    Ho un file di testo (3Mb) che è un'esportazione dei contatti arrivati da un mio sito e regolarmente scaricati con Thunderbird. TB non mi aiuta nell'esprtazione quindi sono andato nell'hardisk e preso direttamente il file e rinominato in txt.
    Tale file è composto da 26 righe di intestazioni dell'email, 2 a_capo, 1 frase (perchè è iniziato il corpo del'email) e i dati.

    Sono in grado di recuperare i dati che voglio tramite vari preg_match_all MA so farlo per una riga sola!!
    Non ho capito come fare il ciclo per prendere tutte le righe.

    Esempio di una sola "riga" del file che ne contienealmeno 2000 una dietro l'altra...:
    codice:
    From - Mon Jan 15 15:17:34 2007
    X-Account-Key: account4
    X-UIDL: 1168870476.26059.mail.xxxx.com,S=1304
    X-Mozilla-Status: 0001
    X-Mozilla-Status2: 00000000
    X-Mozilla-Keys:                                                                                 
    Return-Path: <www@xxxxx.com>
    Delivered-To: xxxxxx@xxxxxx.com
    Received: (qmail 8230 invoked by uid 89); 15 Jan 2007 14:14:36 -0000
    Delivered-To: xxxxx.com-xxxxxx@xxxxxx.com
    Received: (qmail 18389 invoked by uid 89); 15 Jan 2007 14:14:36 -0000
    Received: from unknown (HELO www.xxxxxxx.com) (192.168.1.1)
      by mail.xxxxxxx.com with AES256-SHA encrypted SMTP; 15 Jan 2007 14:14:36 -0000
    Received: from www.xxxxxxx.com (localhost.xxxxxx.com [127.0.0.1])
    	by www.xxxxxx.com (8.13.1/8.13.1) with ESMTP id l0FEIHRc008163;
    	Mon, 15 Jan 2007 15:18:24 +0100 (CET)
    	(envelope-from www@xxxxxxx.com)
    Received: (from www@localhost)
    	by www.xxxxxxx.com (8.13.1/8.13.1/Submit) id l0FEHuHF008162;
    	Mon, 15 Jan 2007 15:17:56 +0100 (CET)
    	(envelope-from www)
    Date: Mon, 15 Jan 2007 15:17:56 +0100 (CET)
    Message-Id: <200701151417.l0FEHuHF008162@www.xxxxxxxx.com>
    To: yyyyy@yyyyyy.it
    Subject: Dati da pagina REGISTRAZIONE sito web.
    From: <yyyyy@yyyyyyy.it>
    
    
    Un utente ha compilato il modulo nel sito ed ha lasciato i seguenti dati:
    
     Ragione Sociale: *******
     Persona di riferimento: ******
     Indirizzo: *********
     Localita: ******
     CAP: *****
     Provincia: *****
     Stato: *****
     Telefono: *****
     Fax: *****
     P. Iva: ******
     Email: *****@*****.**
     Tipologia: ******
     Come ho conosciuto yyyyyy: *******
     Messaggio: ********
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  2. #2
    Puoi postare il codice php che usi per recuperare la singola riga?

  3. #3
    Ad esempio recupero l'email...

    Codice PHP:
    $reg_exp_email "/Email:([^\n]+)\n/i";
    preg_match_all($reg_exp_email$text$linesPREG_SET_ORDER);
    $email trim($lines[0][1]); 
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  4. #4
    Hai già fatto delle prove per prendere i dati ciclando immagino.

    Vuoi cercare di prendere tutte le email insieme o ti accontenti di un pò per volta?

  5. #5
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Thunderbird usa il file format mbox. Nel mbox, ogni nuovo messaggio comincia con la stringa "From" seguita da uno spazio. Sapendo questo, puoi fare un explode sull'intero file, ad esempio:

    $messaggi = explode('From ',$contenutofile);
    foreach($messaggi as $messaggio){
    //ora fai tutte le tue regex sul singolo messaggio, prendi i dati, mettili nel db o fai quello che vuoi
    }

    L'unico conflitto potrebbe essere se hai anche nel corpo del messaggio righe che cominciano con "From ", ma da quello che ho visto, non sembra.

  6. #6
    Originariamente inviato da goikiu
    Hai già fatto delle prove per prendere i dati ciclando immagino.

    Vuoi cercare di prendere tutte le email insieme o ti accontenti di un pò per volta?
    Devo riportare questo file di testo in un Db mysql.
    Per farlo mi va bene qualsiasi soluzione. Io pensavo di trasformarlo in csv e poi importarlo tramite phpmyadmin. Addirittura su notepad++ stavo cercando qualche funzione tipo trova/sostituisci, plugin vari etc... perchè, appunto, non è una cosa che va sul web... (ci andrà dopo che ho riportato i dati su musql).

    Non ho "provato" ... ho solo cercato su google come fare per intercettare delle righe ma non ho trovato quello che cercavo...
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  7. #7
    Niente?
    ... su goooogle non trovo quello che cerco... forse uso le key sbagliate? Mi date una mano?
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  8. #8
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    mi pare di averti gia' risposto

  9. #9
    Originariamente inviato da bubi1
    mi pare di averti gia' risposto
    Chiedo scusa... mi era sfuggita la lettura del tuo post
    Tra l'altro funziona...
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  10. #10
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Se non hai già risolto ti consiglio di:

    Suddividere il file in varie parti ad esempio hai 20 volte il campo email, fai un explode sul file sul campo email cosi da dividere in parti il file, poi finchè ci sono parti di file fai le varie ricerche

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.