salve a tutti,
mi ritrovo con una funzione fatta in questo modo
codice:
function nl2p($st){
$st = preg_replace( "/\\r\\n/" , "\\n" , $st );
$st = preg_replace( "/\\n\\n[\\n]*(.*)/" , "\\n\\n$1" , $st );
$st= str_replace("\\n\\n","</p>
", $st);
$st= str_replace("\\n", "
", $st);
return $st;
}
$commento= mysql_real_escape_string(nl2p($_POST['commento']));
$commento= strip_tags(trim($commento),"[b][i]<u><a>
");
in pratica il doppio ritorno accapo lo sostituisce con </p>
, il singolo ritorno accapo con
questa funzione è applicata al modulo dei commenti del mio blog.
i moduli del form vengono controllati e se c'è un errore il contatore $t aumenta di 1
per cui se submit (che faccio nella stessa pagina) è settato e t è uguale a 0 il commento va a buon fine altrimenti ripropongo il form con i moduli corretti gia compilati..
il problema è che mi ritrovo nel modulo commenti una cosa del tipo "
ciao</p> a tutti
quanti". mi rimane la formattazione html
ho provato a convertire
e
con gli accapo \n o \r\n ma poi il testo in textarea sara ciao \n\n a tutti\nquanti. a me piacerebbe invece che l'utente non vedesse gli \n ma che comunque rimanga il loro effetto..
si può fare qualcosa.
io avevo pensato di metter
if $t != 0 di non applicare la funzione ma non va mah sembra strano