1. Проверяю поле заполняемые пользователем, чтобы были только цифры
if ( !preg_match("/^\d+$/",$var) ) {Внимание - не число!}
но если вдруг в номере есть &, то проверка проходится успешно.
То есть
44 - число, 44a - не число, 44& - число, 44&4 - число, 44&a - число, 44a& - не число.
Как так?
2. В поле заполненном пользователем удаляю все не буквы и не цифры
$input= preg_replace ("/[^a-zA-ZА-Яа-я0-9]/","",$input);
Если вдруг амперсанд, то число обрезается на нем.
Было 1234&45678, стало 1234,
Было q!@#$%^1&2*()p, стало q1
Такое чувство, будто дойдя до амперсанда preg просто завершает работу.
Как это решается?
|