preg_match 関数で単一引用符をエスケープするのに問題があります。
O'Neill など、あらゆる種類の名前に一致する関数を作成したいと考えています。
if(preg_match("/^(\w){1,12}\s(\w){2,15}\D$/", stripslashes($name)))
{
$name = $db->real_escape_string(stripslashes($_POST['name']));
}
else
{
$errors[] = 'Name format should be: first name + second name(i.e. John Smith)
</br>';
}
私は絶対にすべてを試しましたが、ボードからのさまざまな例も見ましたが、何も役に立ちませんでした。私はもう試した:
(\w'-)
(A-Za-z'-)
(A-Za-z\'\)
理想的には、関数はファーストネームとセカンドネームの組み合わせを許可する必要があります (整数は許可されません)。
よろしくジャセク