if(preg_match("/^[a-zA-Z0-9\s\!\"\№\;\%\:\?\*\(\)\<\>\/\#\$\^\&\@\-\+\_\=\|\,\.\~\{\}\[\]\'\\\\]+$/", $sometext))
{//only symbols from keyboard entered
}
else
{//bad symbols entered
}
Я много раз тестировал эту функцию и, похоже, она работает нормально.Но я обнаружил, что это работает и для этой строки:
how are you?'<>"\|/à
Это не должно работать, потому что символ à
не разрешен.Пожалуйста, не говорите мне о stripslashes
, я знаю это.Также я обнаружил, что если я хочу разрешить символ \
, я должен написать не \\
, а \\\\
.Я тоже. Спасибо.