Form web: gestione del testo (in PHP) inserito in una textarea
Pubblicato il 14 Gennaio 2009
In ogni sito web dinamico che si rispetti c’è sempre almeno un form, che sia per i contatti o per la registrazione alla newsletter è comunque lì pronto per essere riempito.
Ogni web developer, in fase di sviluppo del sito web, deve preoccuparsi della validazione dei dati inseriti nel form ma anche di gestire gli stessi dopo l’invio.
In un form la textarea serve a permettere l’immissione di testi di lunghe dimensioni. Spesso, in un sito con contenuti dinamici, il testo immesso in una textarea può contenere caratteri speciali, formattazioni come il grassetto ed anche codice JavaScript. Conviene, quindi, gestire il tutto in modo opportuno.
La gestione dei caratteri speciali, come è (la cui entità HTML è è), la possiamo affrontare utilizzando la funzione htmlentities, funzione che converte tutti i caratteri speciali nelle rispettive entità HTML. Questo per visualizzare correttamente il testo in una pagina web.
$stringa = htmlentities(“il vostro sito è ottimo”);
Inoltre, per visualizzare correttamente l’interruzione di riga con il testo che continua su nuova riga, dobbiamo sostituire il caratteri \n (carattere di interruzione riga in una textarea) con <br />, carattere di interruzione riga in HTML. Questo problema possiamo gestirlo con la funzione nl2br:
$stringa = nl2br($stringa );
Infine, per eliminare codice potenzialmente pericoloso, ci affidiamo alla funzione strip_tags:
$stringa = strip_tags($stringa);
Se, per esempio, non vogliamo che la funzione elimini tutti i tag e, sempre per esempio, vogliamo mantenere il tag del grassetto (<b>), possiamo specificare delle eccezioni nel secondo parametro (quindi opzionale) della funzione:
$stringa = strip_tags($stringa,”<b>”);
Pubblicato in: