Stampare div uno sotto l'altro come nei forum

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
il problema è che interpreta \n come fine della riga quindi se lo trova a metà messaggio per php è un fine riga.
prova una cosa
usa solo l'istruzione
PHP:
$messaggioS = nl2br($messaggioS);
questa istruzione trasforma tutti i \n in <br> quindi "dovrebbe" eliminare il problema.
se guardi la parte di script che inserisce (a parte le variabili che sono state modificate) vedi che comunque il \n di fine riga viene inserito
PHP:
$mess_da_ins=$nome."|".$citta."|".$email."|".$messaggio."\n";

relativamente alla modifica del file devi stare attento a non introdurre \n es.
mettiamo che tu voglia correggere la riga

in modo che a video il "come va?" venga su un'altra riga non devi correggere in

facendo così introduci un \n, ma proprio scrivere <br> o <br /> cioè


p.s.
domanda come mai la stringa termina con | ? non dovrebbe esserci

Oggi facendo esperimenti ho notato che se allineo tutto su una riga, non crea nuovi box e in più posso modificare il messaggio,es

Il codice stampa così

Codice:
mercoled&igrave; 14 novembre 2012 - 22:42:56 GMT+0100 (CET)|Oggetto|Messaggio<br />
<br />
<br />ciao|Nome|Citta|[email protected]|::1|<img src="http://mosito.it/ip_flags/flags/noflag.gif" width="16" height="12" alt="noflag" title="noflag" />

Devo metterlo così manualmente per far quadrare tutto

Codice:
mercoled&igrave; 14 novembre 2012 - 22:42:56 GMT+0100 (CET)|Oggetto|Messaggio<br /><br /><br />ciao|Nome|Citta|[email protected]|::1|<img src="http:/miosito.it/ip_flags/flags/noflag.gif" width="16" height="12" alt="noflag" title="noflag" />

Perciò mi pare di capire che c'è qualcosa che manda a capo dal secondo <br /> in poi, questo è il problema
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
mi è venuto un piccolo dubbio. riposta il codice della parte in cui si forma la riga e poi la inserisce
Questa?

PHP:
$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";
$mess_ultimo=2;  //numero di messaggi massimo da visualizzare
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
si (quasi): rispetto a qull'istruzione lnr2br la metti prima o dopo?

la metto prima, ma credo di aver risolto

avevo i codici in questa sequenza

PHP:
$messaggioS = str_replace("\n","",$messaggioS);

$messaggioS = nl2br($messaggioS);

$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";
$mess_ultimo=2;  //numero di messaggi massimo da visualizzare

ho tolto il primo codice, e questo $messaggioS = nl2br($messaggioS); l'ho sostituito con $messaggioS = str_replace("\n", "<br />", $messaggioS);

ora nel file che archivia stampa i br uno sotto l'altro

testo
<br />
<br />
<br />
testo


l'ho poi modificato il testo e a video rimane con la modifica e non crea più ulteriori box
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Non so più cosa pensare, ieri come ti dicevo, dopo varie prove, funzionava, i box non sballavano più.

Oggi ho riprovato e sballano di nuovo...non capisco più questi codici

PHP:
...

$messaggioS = str_replace("\n", "<br />", $messaggioS);

$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";

...
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non capisco anch'io, comunque visto che stiamo andando per tentativi, prova a modificare
PHP:
$messaggioS = str_replace("\n", "<br />", $messaggioS);//quata corrisponde a ln2br

$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";
in (togliendo l'ultimo /n)
PHP:
$messaggioS = str_replace("\n", "<br />", $messaggioS);//quata corrisponde a ln2br

$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina;
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
non capisco anch'io, comunque visto che stiamo andando per tentativi, prova a modificare
PHP:
$messaggioS = str_replace("\n", "<br />", $messaggioS);//quata corrisponde a ln2br

$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";
in (togliendo l'ultimo /n)
PHP:
$messaggioS = str_replace("\n", "<br />", $messaggioS);//quata corrisponde a ln2br

$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina;

Non è cambiato...
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Da quello che ho notato il problema è risolvibile s si riesce a "far stampare in linea" i br nel file che archivia
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ricapitoliamo un momento che mi sto perdendo
se scrivi i messaggi ecc... usando il form va tutto bene
se richiamo il file html e lo correggi manualmente va in pallino
è così?
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
ricapitoliamo un momento che mi sto perdendo
se scrivi i messaggi ecc... usando il form va tutto bene
se richiamo il file html e lo correggi manualmente va in pallino
è così?

Si, a meno che nel file html i br non siano stampati in linea uno dietro l'altro, non uno sotto l'altro.

Se sono stampati in linea allora lo posso modificare come voglio che non va in pallino.
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
ricapitoliamo un momento che mi sto perdendo
se scrivi i messaggi ecc... usando il form va tutto bene
se richiamo il file html e lo correggi manualmente va in pallino
è così?
Si, ho messo questo e ora nel file che archivia stampa i br in linea, ma non è ancora risolto come pensavo

PHP:
$messaggioS = preg_replace("!\r?\n!", "<br />", $messaggioS);

se scrivo i post a video stampa giusto, se poi torno indietro a correggerne uno lui me lo corregge ma mi cancella i post successivi, vedi questo esempio dopo che ho corretto il primo post, come vedi il secondo è sparito e si è spostata la dato in fondo al primo. Non è che magari è un problema di box?

img01s.jpg
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
spiegami un cosa, come modifichi i messaggi?
usi uno script o richiami il file, con un editor modifichi, e ricarichi il file?
Apro il file con un editor (Textwrangler) e lo modifico a mano e lo salvo.

Comunque penso di aver risolto davvero, ho fatto molte prove i box (quelli online) non sballano più, mentre in locale, uso MAMP, mi da lo stesso problema come da ultimo post

questa è la nuova sequenza funzionante online

PHP:
$messaggioS = str_replace("\r\n", "<br />", $messaggioS);

...

$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";

Dammi un tuo parere tecnico, come puoi vedere li ho modificati a mano (ho aggiunto caratteri diversi nelle parole)

Sito
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
secondo me ci sono troppi br, prova

PHP:
<?php
//....
$da_sost=array("\r\n", "\r", "\n");//prima sostituisco \r e \n
$messaggioS = str_replace($da_sost, "<br />", $messaggioS);
$da_sost=array("<br><br><br>", "<br><br>", "<br /><br /><br />", "<br /><br  />");//poi i troppi br
$messaggioS = str_replace($da_sost, "<br />", $messaggioS);
//....
?>
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
secondo me ci sono troppi br, prova

PHP:
<?php
//....
$da_sost=array("\r\n", "\r", "\n");//prima sostituisco \r e \n
$messaggioS = str_replace($da_sost, "<br />", $messaggioS);
$da_sost=array("<br><br><br>", "<br><br>", "<br /><br /><br />", "<br /><br  />");//poi i troppi br
$messaggioS = str_replace($da_sost, "<br />", $messaggioS);
//....
?>
Che codice è questo?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
la prima istruzione è la solita, la seconda perchè ho visto, quardando la pagina con "visualizza sorgente", che i messaggigi sono così (es)
ciao<br><br>io sto bene
oppure
ciao<br><br><br>io sto bene
quindi il secondo replace riporta (dovrebbe) il tutto a
ciao<br />io sto bene
eventando che il messaggio abbia righe vuote occupando spazio inutile

edit
ho usato l'array perce se es hai un messaggio tipo
ciao /r/n sto bene /r anzi molto bene
la
PHP:
$messaggioS = str_replace("/r/n", "<br />", $messaggioS);
non ti rimpiazza il /r ma solo /r/n, mettendo l'array li rimpiazza entrambi
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Adesso comunque funziona, solo online però. I br che tu hai visto sono quelli delle volte che ho premuto il tasto invio

Devo sostituire

PHP:
$messaggioS = str_replace("\r\n", "<br />", $messaggioS);


con questo?

PHP:
$da_sost=array("\r\n", "\r", "\n");//prima sostituisco \r e \n 
$messaggioS = str_replace($da_sost, "<br />", $messaggioS); 
$da_sost=array("<br><br><br>", "<br><br>", "<br /><br /><br />", "<br /><br  />");//poi i troppi br 
$messaggioS = str_replace($da_sost, "<br />", $messaggioS);
 
Discussioni simili
Autore Titolo Forum Risposte Data
S estrarre e stampare a video un record in un div PHP 7
G Stampare valori in più div con PHP e MySQL PHP 4
I stampare una stringa echo PHP 2
F Stampare valori di un database PHP 14
A Stampare dati da form PHP 15
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
G leggere file txt e stampare con php il contenuto a video PHP 7
F stampare a video i risultati della query PHP 1
elpirata Ricavare e stampare indirizzo ip da array associativo PHP 0
B Stampare una porzione della pagina PHP 0
V Come stampare su Excel tabella con rowspan e colspan Javascript 2
elpirata Stampare carattere simbolo euro PHP 10
W Stampare file PDF in varie modalità. Windows e Software 5
L pdo (stampare un valore con ritorno a funzione) PHP 0
P [PHP] Aggiungere giorni e stampare risultato da data inserita in input PHP 3
P [PHP] Stampare record di diverse tabelle ma con nomi uguali PHP 6
K [PHP] Stampare tabella da database differenti. PHP 4
M Stampare con php e mysql PHP 8
L [PHP] stampare un'array di un database PHP 0
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
T PHP+MYSQL: stampare record con numero progressivo PHP 3
cristoforo58 Stampare dei valori XML in PHP PHP 0
elpirata [PHP] Stampare i valori di una variabile scritta su più righe PHP 1
K [PHP] Cancellare e Stampare tabella PHP 3
M [PHP] come stampare un Qr-code in FPDF PHP 8
M [Javascript] "Stampare" nel codice Var JS Javascript 5
N [PHP] stampare pagina html PHP 0
fulviozecchin [Java] Stampare intervallo tra due interi senza cicli Java 2
F [PHP] Stampare dati inviati tramite ajax PHP 0
elpirata [RISOLTO]Stampare giorno della settimana in tabella php PHP 6
elpirata [PHP] [RISOLTO] Stampare classe css in base al risultato della query PHP 6
Fuego2806 Stampare dati Form su immagine di sfondo con html HTML e CSS 1
Fuego2806 [PHP] Stampare dati Form su immagine di sfondo con html PHP 70
webmachine [PHP] Problema: Stampare tutte le occorrenza di una SELECT PHP 2
momeraths come stampare immagini contenute in un database PHP 7
I stampare in video i dati inseriti nel db PHP 1
M Sito "e-commerce", stampare dati di registrazione e dati dell'acquisto da pagine diverse PHP 7
L Stampare immagine php PHP 2
elpirata Stampare a video in echo table il risultato di una query PHP 4
Shyson Stampare lista in ordine decrescente Database 1
A Stampare senza sidebar Javascript 0
F stampare array php PHP 2
N Non stampare valori duplicati PHP 1
T Stampare maschera fronte/retro MS Access 0
C Stampare font personalizzati HTML e CSS 2
N FPDF stampare pdf automaticamente su stampante impostata PHP 0
M Stampare valore di un array PHP 1
P Stampare a video PHP 1
P Stampare '<?' in php PHP 7
D Stampare una query in una tabella MySQL 2

Discussioni simili