- Home
- Categorie
- Coding e Sistemistica
- PHP
- Filtrare contenuto stringa con preg_match. Come si fa?
-
Filtrare contenuto stringa con preg_match. Come si fa?
Ciao ragazzi
Ho bisogno di una mano...
Devo filtrare il contenuto di una stringa inserita in un form: la stringa può contenere lettere, numeri e spazi e può avere qualsiasi lunghezza.Come faccio a controllare questa stringa con preg_match?
Se no, esiste un altro metodo?Grazie a tutti
-
[PHP]
if (preg_match("/^[A-z0-9 ]+$/",$valore_campo))
echo "ok, parametri passati";
else
echo "no, parametri non passati";
[/PHP]Ti consiglio questo ottimo tool per fare delle prove: gskinner.com/RegExr/
-
Grazie per la risposta
Saresti così gentile da fornirmi la spiegazione dei parametri? Come ci sei arrivato?
Il mio problema è che non ho capito bene quali criteri si utilizzano per scrivere quella funzione in base alle proprie necessità...Grazie ancora
-
Premesso che nel link che ti ho segnalato c'è la spiegazione di ogni "pattern".
Cmq sia:- ^ = Dall'inizio della stringa
- [A-z0-9 ] = Pattern che identifica ogni carattere dell'alfabeto sia maiuscolo che minuscolo, ogni numero e spazio.
-
- = Il più indica di trovare il pattern segnalato tra le parentesi quadre 1 o più volte. Nel senso che se la parola è di un carattere alfanumerico o di spazio ha trovato corrispondenza 1 volta, se la parola è di 5 caratteri alfanumerici o di spazi ha trovato 5 corrispondenze; se non ci sono caratteri il controllo non passa perchè il "+" indica di trovare almeno una corrispondenza.
- $ = Le regole sopra devono arrivare fino alla fine della stringa.