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

    Split di testo con carattere di a capo

    Ciao,
    sto esportando dei dati da un'applicazione (Filemaker) che contiene anche dei suoi campi testo che permettono all'utente di mandare a capo il testo, così come in ogni form del web,
    sta di fatto però che non so come vengano codificati questi caratteri ed avrei bisogno di splittare queste aree di testo riga per riga...avevo pensato ad una cosa del tipo

    Codice PHP:
    list($riga1$riga2$riga3$riga4) = split('\n'$testo); 
    ma non mi funge, com'è tradotto il carattere di "a capo" ??
    Altro problema è che a priori non so quante saranno le righe...
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  2. #2
    Utilizza fopen()/fgets() per leggere tutto il file riga per riga.
    La lista delle sequenze di escape la trovi sul manuale ufficiale:

    http://www.php.net/manual/en/languag....syntax.double

    In ogni caso è più probabile che utilizzi la tabulazione (\t) per separare i vari campi di ogni riga.

  3. #3
    Grazie Filippo, il file non è un file testo e ne leggo i valori con una classe apposita che ne esporta i campi formattati così come sono (inutile star lì a dire i problemi intrinseci di charset...), di conseguenza mi ritrovo una stringa $testo che risulta una cosa del tipo:
    $testo = "riga1
    riga2
    riga3
    ...";
    Non ho capito quindi cosa dovrei fare quindi in questo caso per splittare le singole righe, avendo già testato con \n, \r e varie combinazioni ...
    Tutto il sistema gira sotto windows...!!
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  4. #4
    Se il file non è troppo grande puoi provare un semplice:

    Codice PHP:
    <pre>
    <?php 
    $testo 
    "riga1
    riga2
    riga3
    ..."
    ;
    $divisor "\r\n"// \r\n, \r, \n
    $lines explode($divisor$testo);
    $lines array_map('trim'$lines);
    foreach (
    $lines as $line) {
        print(
    "{$line}\r\n");
    }
    ?>
    </pre>

  5. #5
    Grazie ora ho risolto,
    con questo metodo usando explode e \n come "ritorno a capo" ho scoperto (leggendo nel manuale) che la funzione split() lavora in modo diverso e genera qualche problema in questi casi particolari !!
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.