Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    88

    explode() = tagliare una stringa

    Ciao ragazzi ho un problema con un codice che molti di voi considereranno facilissimo quindi chiedo aiuto...

    Da un file .txt devo recuperare una stringa e dividerla dove c'è il segno uguale, io ho fatto così, ma non funziona:



    Codice PHP:
    //leggo il file riga per riga
    $handle = @fopen($nomefile"r");

     if (
    $handle) {
         while (!
    feof($handle)) {
             
    $buffer fgets($handle);
             echo 
    $buffer;     }

                  echo 
    "<hr>";         

    //seziono la stringa dove trovo =

             
    $pieces explode("="$buffer);
                 echo 
    $pieces[0]."
    "
    // piece1
                 
    echo $pieces[1]."
    "
    // piece2
                 
    echo $pieces[2]; // piece3 

          
    fclose($handle); } 
    Cioè, il file viene letto dal php, e su
    Codice PHP:
    echo $buffer
    mi da il giusto risultato. Quando però gli dico di explode, mi riporta solo la parte finale della stringa, nella posizione 0 dell'array ($pieces[0]).

    Se però la stringa la metto direttamente nel codice funziona:
    Codice PHP:
    $buffer  "&titolo=LA NOSTRA FILOSOFIA prova&filosofia=òalsiuhkjdfn cuausjhlfma asdjcf oasij dfcasù asdcfas";
     
    $pieces explode("="$buffer);

     echo 
    $pieces[0]."
    "
    // piece1 
    echo $pieces[1]."
    "
    // piece2 
    echo $pieces[2]."
    "
    // piece2 
    Qualcuno sa dirmi il perchè?
    DuMbSiM
    --
    Versati un altro bicchiere di vino, accenditi quella strana sigaretta. Ogni cosa e' perdonata ancora prima che tu la faccia.

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    è molto semplice.. ad ogni riga che tu leggi nel file txt $buffer viene SOVRASCRITTO e non CONCATENATO.

    indi per cui alla fine del ciclo avrai solo l' ultimo pezzo letto...

    detto questo ti rpopongo ciò:
    Codice PHP:

    $blocks
    =explode("=",file_get_contents("tuofile.txt"));

    // vediamo l' array risultante
    echo "<pre>";
    print_r($blocks);
    echo 
    "</pre>"
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    88
    Grazie mille... Immaginavo una soluzione molto semplice...
    DuMbSiM
    --
    Versati un altro bicchiere di vino, accenditi quella strana sigaretta. Ogni cosa e' perdonata ancora prima che tu la faccia.

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.