
Originariamente inviata da
inquota
Buongiorno a tutti! Sono nuovo del forum!
Vorrei che mi aiutaste a risolvere questo piccolo problema.
In un sito che sto facendo ce un form mail nella pagina contatti. In questo form si trova una area di testo <textarea name="testo"></textarea> dove un cliente può scrivere e inviare la mail all'admin del sito.
Ovviamente per i problemi continui di spam che sono sul web sono costretto a validare i campi input, e cosi prima di spedire faccio filtrare il contenuto del $_POST['testo'] da una funzione con un espressione regolare.
Se quello che ritorna è identico al valore del post iniziale spedisco altrimenti qualcosa non va!
Ecco il filtro:
Codice PHP:
if($filter == "textbox") {
$input = htmlspecialchars($input);
$pattern = "/^[A-Z a-z0-9-,!\.&%àèéìòù]+$/";
preg_match($pattern, $input, $match);
return $match[0];
}
Nella fase di test il programma mi blocca l'invio se vengono inseriti degli "accapo - invio" nella textarea. Siccome so che gli "accapo" sono \r\n, come faccio ad indicare alla RegEx che quelli sono consentiti?
Spero di essere stato chiaro, e spero in risposte altrettanto chiare!
Grazie, Matteo.