私は初心者のPHPスキルを練習していますが、なぜこのスクリプトが常にFALSEを返すのかを知りたいですか?filter_var using FILTER_VALIDATE_REGEXP
私は間違っていますか?
$namefields = '/[a-zA-Z\s]/';
$value = 'john';
if (!filter_var($value,FILTER_VALIDATE_REGEXP,$namefields)){
$message = 'wrong';
echo $message;
}else{
$message = 'correct';
echo $message;
}
代わりにpreg_match()を使用すると、正常に動作します。 – Iris
preg_match()では、コールバックフィルタを使用する必要があります。 PHPフィルタメカニズム(スーパーグローバルを使うのとは少し違って動作します)を使いたい場合は、マニュアルの例のような連想配列を作成してください。 –