Мне нужно проверить, содержит ли переменная что-либо ДРУГОЕ, чем az AZ 0-9, и «.». символ (полная остановка). Любая помощь будет оценена по достоинству.
if (preg_match('/[^AZ\d.]/i', $var)) print $var;
Есть два способа сделать это.
Укажите, содержит ли переменная какой-либо один символ не в разрешенных диапазонах. Это достигается с помощью класса отрицательных символов [^ …]:
preg_match('/[^a-zA-Z0-9\.]/', $your_variable);
Другая альтернатива – убедиться, что каждый символ в строке находится в разрешенном диапазоне:
!preg_match('/^[a-zA-Z0-9\.]*$/', $your_variable);
if (preg_match("/[^A-Za-z0-9.]/", $myVar)) { // make something }
Ключевым моментом здесь является использование «^» в группе [] – оно соответствует каждому символу, кроме тех, что находятся внутри скобок.