Operatore \n non funziona

Ho fatto una prova togliendo l'operatore \n ed ho scritto nella tabella il messaggio ma a video il testo è andato a capo in entrambi i casi cioè: con l'operatore o senza.

Allora mi chiedo: a cosa serve \n?

$commento=$nome."|".$data."|".$orario."|".$citta."|".$email."|".$url." |".$ip."|".$messaggio."\n";
inviato 7 anni fa
php
php
6
X 0 X

Tabella? Messaggio? Ma spiegati. -.-

Posta il codice.

\n non è un operatore, ma un carattere di escape, comunque. Serve a segnalare il carattere di newline (cioè l'a capo).

risposto 7 anni fa
sydarex
X 0 X

Tabella? Messaggio? Ma spiegati. -.-

Posta il codice.

\n non è un operatore, ma un carattere di escape, comunque. Serve a segnalare il carattere di newline (cioè l'a capo).

Sto facendo delle prove,  se metto questo e premo il tasto a capo (Invio) manda a capo il testo, se invece tolgo questo codice mi mette tutto in fila, riconosce solo il tasto lungo quello dello spazio fra una parola e l'altra.

$messaggio = nl2br($messaggio);   

a me andrebbe bene ma vorrei che l'utente possa andare a capo quando vuole come in questo forum solo che in questo caso ( con nl2br) sballa la tabella in altezza, il testo esce fuori di sotto, non sta nella tabella.

Perciò \n a che serve?

risposto 7 anni fa
php
php
6
X 0 X

Se l' "a capo" deve essere visualizzato in una pagina web allora devi usare il tag html <br> o quello xhtml <br />

Lo "\n" è un "a capo" in un file di testo.

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Se l' "a capo" deve essere visualizzato in una pagina web allora devi usare il tag html <br> o quello xhtml <br />

Lo "\n" è un "a capo" in un file di testo.

 :bye:

Io vorrei fare come il tuo forum che l'utente può andare a capo quando vuole, anch'io nelle tabelle del guestbook lo posso fare e funziona, se però l'utente tiene premuto troppo il tasto Invio il testo che sta scrivendo esce fuori di sotto.

Io vorrei invece che si allungasse in altezza la tabella in modo da contenere il testo.

risposto 7 anni fa
php
php
6
X 0 X

Per trasformare gli "a capo" dell'utente in <br> si usa la funzione nl2br(). Il problema del layout della tabelle è legato all'HTML ed al CSS che stai utilizzando, quindi PHP non centra nulla.

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

Per trasformare gli "a capo" dell'utente in <br> si usa la funzione nl2br(). Il problema del layout della tabelle è legato all'HTML ed al CSS che stai utilizzando, quindi PHP non centra nulla.

 :bye:

Scusa, ma allora che differenza c'è fra nl2br e \n?

risposto 7 anni fa
php
php
6
X 0 X

"\n" rappresenta il carattere di "a capo" in un file di testo.

nl2br() è una funzione che inserisce il tag "<br>" prima di ogni "\n" presente nel testo passato in input.

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

"\n" rappresenta il carattere di "a capo" in un file di testo.

nl2br() è una funzione che inserisce il tag "<br>" prima di ogni "\n" presente nel testo passato in input.

Non afferro, come fa \n a sapere che bisogna andare a capo? Cosa succede se non lo mettessi?

risposto 7 anni fa
php
php
6
X 0 X

la stringa "\n" viene interpretata da PHP e trasformata automaticamente nel carattere il cui codice ASCII è 12. Spesso ci si riferisce a questo particolare carattere con la sigla LF, ovvero LINE FEED.

Quando un editor di testi, come il notepad, incontra nel testo questo carattere speciale allora interrompe la riga corrente e va a capo. Quindi il LINE FEED non è un carattere stampabile bensì un comando di "a capo" dato al programma che ha il compito di visualizzare il testo.

Come ti ho già detto prima in un file HTML la presenza di questo carattere non comporta l'inserimento di un "a capo" poiché in HTML l'interruzione di una linea deve avvenire attraverso il tag <br>. I browser infatti ignorano i LINE FEED in un testo e per questo torna comoda l'istruzione nl2br() che aggiunge dei tag <br> accanto a ciascun LINE FEED incontrato in un testo, in modo da far capire al browser dove inserire gli "a capo".

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

la stringa "\n" viene interpretata da PHP e trasformata automaticamente nel carattere il cui codice ASCII è 12. Spesso ci si riferisce a questo particolare carattere con la sigla LF, ovvero LINE FEED.

Quando un editor di testi, come il notepad, incontra nel testo questo carattere speciale allora interrompe la riga corrente e va a capo. Quindi il LINE FEED non è un carattere stampabile bensì un comando di "a capo" dato al programma che ha il compito di visualizzare il testo.

Come ti ho già detto prima in un file HTML la presenza di questo carattere non comporta l'inserimento di un "a capo" poiché in HTML l'interruzione di una linea deve avvenire attraverso il tag <br>. I browser infatti ignorano i LINE FEED in un testo e per questo torna comoda l'istruzione nl2br() che aggiunge dei tag <br> accanto a ciascun LINE FEED incontrato in un testo, in modo da far capire al browser dove inserire gli "a capo".

 :bye:

spiegami bene  :wallbash: ho fatto una prova, in questo codice ho tolto \n e ho poi inviato il form, a video non appariva niente  :lamo:, invece con \n appare tutto giusto

$commento=$nome."|".$data."|".$orario."|".$citta."|".$email."|".$url." |".$ip."|".$messaggio."\n";
risposto 7 anni fa
php
php
6
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda