Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    CONVERTIRE File TXT in array

    Buongiorno,
    ho un file txt molto lungo con una strana formattazione che però si ripete es.

    1-['Id': 1
    'Testo': PIPPO
    'Lingua1': PIPPO1234
    ],
    2-['Id': 2
    'Testo': PIPPO2
    'Lingua1': PIPPO31234
    ],

    ecc. lungo 13016 elementi, avrei bisogno di rumuovere quei numeri in testa ("1-") per cercare di renderli un array PHP;
    Ho provato a fare qualcosa del genere, ma taglia solo il numero iniziale e non lo fanemmeno per tutti:

    codice:
     $fp = fopen($txt, 'r'); 
    
    
            // Add each line to an array
            if ($fp) {
                $array = explode(",\r\n", fread($fp, filesize($txt)));
            }
    
    
            $arr_nuovo=[];
          
            $k=1;   
    
    
            for($i=0;$i<sizeof($array);$i++){           
                array_push($arr_nuovo, str_replace("$k-", "",$array[$i]));         
                $k++;
            }
    
    
            echo(json_encode($arr_nuovo));
    lo fa solo per i primi 985 elementi poi smette di farlo.

    Quello che vorrei riuscire a fare in definitiva è avere un array con una strUttura simile a questo
    array([id:"1",
    'Testo': "PIPPO"
    'Lingua1': "PIPPO1234"],[.....]
    );

    così da poterci lavorare come se fosse un normale array multidimensionale.
    Qualcuno ha qualche idea?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Prova se questo fa ciò che ti serve
    Codice PHP:
    $fp fopen($txt'r');
    // Add each line to an array
    if ($fp) {
        
    $array explode(",\r\n"fread($fpfilesize($txt)));
    }

    $arr_nuovo=[];

    $k=1;
    $pattern '/\r\n|\n|\r|\t/';
    for(
    $i=0;$i<sizeof($array);$i++){
        
    $array[$i] = preg_replace($pattern",",$array[$i]);
        
    array_push($arr_nuovostr_replace("$k-""",$array[$i]));         
        
    $k++;
    }

    echo(
    json_encode($arr_nuovo)); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    191
    Se il file txt usa sempre la stessa sequenza di interruzione di riga.
    Tieni presente che esiste anche cancellare i dati, sebbene in ordine crescente ma non necessariamente aumentato di uno, devi creare una regex per numero/i seguito dal simbolo -

Tag per questa discussione

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.