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

    Explode mi restituisce un elemento in più...

    Buon giorno, vorrei sapere per favore, come mai, se leggo il contenuto del mio file.txt, ho, apparentemente 4 elementi, ma quando li vado a visualizzare ne ho 5?
    Quello che faccio è questo:
    codice:
    $file = implode('',file('demo/progetti.txt'));
    $stringa = explode('-',$file);
    
    foreach($stringa as $value){
    //fare un ciclo per prendere le prime 30 lettere					
    echo "".substr(trim($value), 0, 30)."..."."
    
    ";
    }
    Nel file txt ho questo:
    [code]
    - Gli ABC sono entrati in studio per dare vita al loro 3° Demo.
    Il titolo della loro terza fatica è ancora sconosciuto...

    - Gli ABC sono entrati in studio per dare vita al loro 3° Demo.
    Il titolo della loro terza fatica è ancora sconosciuto...

    - Gli ABC sono entrati in studio per dare vita al loro 3° Demo.
    Il titolo della loro terza fatica è ancora sconosciuto...

    - Gli ABC sono entrati in studio per dare vita al loro 3° Demo.
    Il titolo della loro terza fatica è ancora sconosciuto...
    [code]

    Quindi, ripeto, apparentemente, ho 4 elementi, ma ne restituisce 5..mi dite cosa devo fare, per favore, per ovviare a questo problema?
    Grazie mille...

  2. #2

    ..........

    Ciao.
    Com'è strutturato il file ?
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    cosi:
    - Gli ABC sono entrati in studio per dare vita al loro 3° Demo.
    Il titolo della loro terza fatica è ancora sconosciuto...

    - Gli ABC sono entrati in studio per dare vita al loro 3° Demo.
    Il titolo della loro terza fatica è ancora sconosciuto...

    - Gli ABC sono entrati in studio per dare vita al loro 3° Demo.
    Il titolo della loro terza fatica è ancora sconosciuto...

    - Gli ABC sono entrati in studio per dare vita al loro 3° Demo.
    Il titolo della loro terza fatica è ancora sconosciuto...

  4. #4

    ............

    Cioè il trattino (-) è solo all'inizio
    $stringa se ti restituisce un array !
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Probabilmente facendo l'explode col trattino ti crea un primo elemento vuoto, visto che il trattino è il primo carattere. Usa un carattere di separazione nella implode e poi fai l'explode su quello (evitando commenti sull'utilità di una procedura del genere)

  6. #6
    il trattino (-) è all'inizio di ogni nuova news, diciamo cosi...
    poi ho fatto in questo modo, e mi restituisce un solo elemento,il primo.
    codice:
    $file = implode('-',file('demo/progetti.txt'));
    $stringa = explode($stringa,$file);
    
    foreach($stringa as $value){
    //fare un ciclo per prendere le prime 30 lettere					
    echo "".$fA.substr(trim($value), 0, 30)."...".$fC."
    
    ";
    }
    se ne sapete di più.Grazie mille...

  7. #7

    ...........

    Vediamo un attimo di capirci
    file ti ritorna il contenuto in
    un array con foreach recuperi
    tutte le row e con
    $array = array();
    //lo devi mettere prima del foreach
    $array[] = substr(($row), 0, 30);
    //in array adesso avrai tutte le prime 30 lettere
    Il (-) lo vedo superfluo nel file le varie row sono separata da \n (new line)

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    in pratica ho fatto cosi:
    codice:
    $file = implode('-',file('demo/progetti.txt'));
    $array = array($file);
    
    foreach($array as $row){
    echo $array[] = substr(($row), 0, 30);
    }
    però mi restituisce solo il primo elemento...

  9. #9

    .......

    $array = array();
    Lo inizializzi per poterlo utilizzare nel
    ciclo quindi non ci devi mettere nessun valore.


    Codice PHP:
    $filecontent file('demo/progetti.txt');
    $array = array();
    foreach(
    $filecontent as $row)
    {
        
    $array[] = substr($row030);
    }
    print_r($array); 
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    ti ringrazio ma, in pratica mi restituisce tutte le righe che ho nel txt, troncate al 30esimo carattere..
    Invece, quello che chiedevo era come valore, soltato quelle righe il cui carattere iniziale era il trattino(-), cosi da individuare la riga in maniera più semplice e poi questa troncarla al 30esimo carattere.

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.