Come faccio a trasformare gli invio (a capo) di una textarea in \n?
Come faccio a trasformare gli invio (a capo) di una textarea in \n?
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
evidentemente a te serve una funzione che trasformi gli invii a capo in <br> non i \n
comunque la funzione è
http://it2.php.net/manual/it/function.nl2br.php
Ha me serve qualcosa che trasformi gli a capo di una textarea in \n perché devo metterli in un file di testo facendo in modo che ogni riga contenga un messaggio senza che vada mai a capo sostituendo gli a capo in \n.
P.S.: so che non è italiano.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
Credo che gli \n siano già interpretati come a capo nei txt.
Ciaoooo!!
confermo!Originalmente inviato da debug
Piccola pillola: se salvi tutto in un txt gli \n non li vedi! Vedi solo quadratini neri!
Ti consiglio di salvarli in un file php che è meglio!
str_replace("\n", '\n', $stringa);
dove $stringa è la stringa di testo
Ehm... e a cosa servirebbe? :eyes:Originalmente inviato da Inverno
ciaoo!!!
Originalmente inviato da debug
che gli \n tra " piuttosto che tra ' siano diversi niente da dire, però resta di fatto che, Inverno, il tuo script è errato!
Ciauz
Spiegami perchè...Originalmente inviato da nix82
magari è scontato e hai già provato... cmq prova a mettere <textarea wrap="physical" etc.etc. oppure "hard" al posto di "physical"
Andando a capo trasformo gli \n in una stringa (**acapo**) e poi ritrasformo la stringa in \n. In questo modo nel file c'è scritto \n ma va ancora a capo. C'entra qualcosa \r?
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
allora la domanda originaria era: Come faccio a trasformare gli invio (a capo) di una textarea in \n?Originalmente inviato da Inverno
La domanda di per sè è un po strana perchè gli invii a capo di un textarea sono appunto \n. Comunque quando si ha a che fare con un textarea ci sono 2 casi..
1) il primo prevede che dal textarea tu voglia salvare i dati. Ciò vuol dire che trasformi gli invii a capo in <br />. Per questo caso ho già dato la mia risposta
2) il secondo prevede che tu voglia portare i dati dal db/txt/php al textarea questo significa che verranno visualizzati i <br /> al posto degli \n tra doppi apici -> "\n"
in questo caso allora basta eseguire un
per risolvere il problema!Codice PHP:
$testo = str_replace('<br />', "\n", $testo);
// codice html
echo "<textarea>$testo</textarea>";
Ci sarebbe un'altra versione, quella di schivare la formattazione degli "invii a capo" nell'entrata in db e formattarlo in uscita! Ma è + o - la stessa cosa! Salti un passaggio in entrata ma lo ritrovi in uscita
Comunque se c'è un altro metodo siamo qui parliamone! D'altronde siamo nei forum tennici per imparare o sbaglio?
Buon lavoro a tutti
Ho trovato la soluzione: nello script che inserisce il messaggio nel file di testo ho scritto:
Ma poi per trasformare gli \n in <br> c'è la funzione nl2br(); ma il risultato è questo...Codice PHP:
$testo=str_replace(CHR(10), '\n', $testo);
$testo=str_replace(CHR(13), '', $testo);
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
Io mollo il thread! Non ci capisco niente e non so neanche qual'è l'obbiettivo!
Di metodi ce ne sono sempre molti, Funcool ha chiesto (1° e 3° post) come trasformare i "nuova linea" in \n (semplici caratteri) per salvarli come unica riga in un file di testo. Ed il metodo che ho proposto io lo fa... che sia irrazionale sono d'accordo, ma questo è quello che ha chiesto...Originalmente inviato da nix82
@funcool:
Dipende dal S.O., per tagliare la testa al toro:Andando a capo trasformo gli \n in una stringa (**acapo**) e poi ritrasformo la stringa in \n. In questo modo nel file c'è scritto \n ma va ancora a capo. C'entra qualcosa \r?
$stringa = str_replace("\n\r", "\n", $stringa);
$stringa = str_replace("\n", '\n', $stringa);
Sapevo di essermi spiegato male comunque ho risolto da solo!!!
Grazie lo stesso.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen