filter_var using FILTER_VALIDATE_REGEXP

Sto facendo pratica con le mie competenze php per principianti e vorrei sapere perché questo script restituisce sempre FALSE?

Che cosa sto facendo di sbagliato?

$namefields = '/[a-zA-Z\s]/'; $value = 'john'; if (!filter_var($value,FILTER_VALIDATE_REGEXP,$namefields)){ $message = 'wrong'; echo $message; }else{ $message = 'correct'; echo $message; } 

Come ricordo, il regexp dovrebbe essere in una matrix di opzioni.

$ string = "Abbina questa string";

 var_dump( filter_var( $string, FILTER_VALIDATE_REGEXP, arrays( "options" => arrays("regexp"=>"/^M(.*)/") ) ) ); // <-- look here 

Anche il

 $namefields = '/[a-zA-Z\s]/'; 

dovresti essere piuttosto

 $namefields = '/[a-zA-Z\s]*/'; // alpha, space or empty string 

o

 $namefields = '/[a-zA-Z\s]+/'; // alpha or spaces, at least 1 char 

perché con la prima versione penso che tu combini solo stringhe a carattere singolo