Newsgroup: it.comp.www.php
Titolo: Punto e a capo

Pesco una stringa luuuuuuunga dal DB (Access, non dite niente per favore:-)
Per vedere gli "a capo" da qualsiasi parte nel <body> faccio:
str_replace (chr(13), "<br>", miastringa)
Per vederli dentro una textarea non faccio niente, fa da solo.
Quando salvo la textarea nel DB se li perde. Come li salvo?
Saluti.
Luciano

 faccio: str_replace (chr(13), "<br>", miastringa)
Lascia al stringa inalterata e in fase di visualizzazione prova a
usare la funzione nl2br(). Vedi 
http://www.php.net/nl2br
.
Ciao.
-- 
Federico

 usare la funzione nl2br(). Vedi 
http://www.php.net/nl2br
.
L'avevo scartata perchè ho letto che partire dal PHP 4.0.5 usa la notazione
XHTML ossia <br /> . Ora però per curiosità ho provato e non è vero, mi
mette dei normali <br>; ho PHP 5.
Cmq, come ho scritto, nella textarea non faccio nessuna modifica, gli a
capo li vedo bene, ma quando salvo li perdo.
Saluti.
Luciano

 Saluti.
mmm non vorrei spararla. ma non è che access fa delle cose che non
dovrebbe ?
I dati che leggi dalla textarea contengono il '\n'. Se li scrivi sul db
e quando li rileggi il '\n' non c'è più dipende dal blocco funzionale
che si occupa della memorizzazione persistente.

 che si occupa della memorizzazione persistente.
ADODB. Che in ambiente ASP non mi ha mai dato problemi.
Cmq non ricevo degli '\n', ho provato  fare
$dati = str_replace("\n","pippo", $dati)
e non trova niente. Se capissi cosa ricevo come andata a capo potrei provare
con
$dati = str_replace("\n", chr(13) . chr(10), $dati) ;
chr(13) . chr(10) sarebbero il vbcrlf di VB
Saluti.
Luciano

 gli a capo li vedo bene, ma quando salvo li perdo.
Sicuro che non venga usata qualche funzione che provvede a eliminarli
prima di salvare il testo nel database? Su access so poco o nulla, mi
dispiace. Se riesci a stabilire che il "colpevole" è proprio access,
magari prova a chiedere anche su it.comp.appl.access.
-- 
Federico

Lasciando da parte il salvataggio su DB:
<textarea cols="20" rows="10" name="pippo">
pippo
pluto
paperino
</textarea>
echo $_GET["pippo"]
Senza un <pre> mette tutto in fila, col <pre> va a capo. Ok, normale. Ma
cosa cavolo gli arriva per l'a capo?
Ho usato GET proprio pert vederlo nel'URL
?pippo=pippo%0D%0Apluto%0D%0Apaperino
Quindi: %0D%0A per ogni a capo, ossia chr(13) e chr(10), come da regola.
Ma allora facendo
str_replace ("%0D%0A", chr(13).chr(10), $dati) ;
dovrei risolvere. Invece ciccia, nisba.
Neanche
str_replace ("%0D%0A", "pippo", $dati) ;
quindi  %0D%0A PHP non lo vede proprio....
Qualcuno sa dirmi qualcosa?
Saluti.
Luciano

quindi  %0D%0A PHP non lo vede proprio....
Probabilmente lo converte in \r\n.
Leonardo
-- 
There is nothing makes a man suspect much, more than to know little,
and therefore men should remedy suspicion by procuring to know more,
and not keep their suspicions in smother.            (Francis Bacon)

 dovrei risolvere. Invece ciccia, nisba.
a me passa perfettamente le newline.
prova con un:
$dati = str_replace ("\r\n", "[GOD_WAS_HERE]", $dati);
echo $dati;
e vedi se cosa ti restituisce.
Ciao.
Maverick
-- 
ĢChe non siete pių liberi di non avere una casa con letto per dormire.
 Lavorate voi - schiavi dei soldi - che non sentite la puzza della
 schiavitų!ģ (a Mario di Monte Mario, Roma) # 
http://libre.netsons.org/

 Probabilmente lo converte in \r\n.
Sintesi.\r\n
Precisione.\r\n
Velocità.\r\n
Ciao ;-)\r\n
Maverick\r\n
\r\n
-- 
«Che non siete più liberi di non avere una casa con letto per dormire.
 Lavorate voi - schiavi dei soldi - che non sentite la puzza della
 schiavitù!» (a Mario di Monte Mario, Roma) # 
http://libre.netsons.org/

 e non trova niente. Se capissi cosa ricevo come andata a capo potrei provare
Strano.
Perchč io con la stessa sostituzione trovo della roba.
Magari il ritorno a capo lo mette alla windows-way con \r\n ma se anche
fosse cosě la sostituzione di '\n' dovrebbe eseguirla...

 fosse cosě la sostituzione di '\n' dovrebbe eseguirla...
Guarda, sto provando ora a casa con XP/Apache ed il problema non ce l'ho. 
Domani in ufficio (W2K/IIS5) provo a sostituire \r\n con chr(13).chr(10)
Grazie a tutti per i suggerimenti.
Saluti.
Luciano