Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [PHP] i ritorni accapo

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777

    [PHP] i ritorni accapo

    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

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Lo script che riceve i dati, prima di sostituire i ritorni a capo con i tag html, deve verificare che sia tutto ok, se è tutto ok fa la conversione e va avanti, se non è tutto ok ripropone la textarea con dentro i dati inviati e non modificati dalla tua funzione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    non capisco dov'è l'errore perchè ho fatto come dici tu...
    la cosa bella che il guestbook del mio sito, che è governato da un codice simile ma precedente a quello che utilizzo nel blog, (ero principiante all'ennesima potenza e quindi era pure più incasinato) manda a video come l'utente aveva scritto senza \r\n se i controlli non sono andati a buon fine...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    ho capito
    mysql_real_escape_string . era lui il problema

    una domanda però se mi è concesso
    tale funzione va messa prima dell'inserimento nel db giusto..cioè prima di query insert giusto?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.