Как использовать php preg_match() для обнаружения недопустимых символов, когда даны только допустимые символы?
У меня есть набор символов, которые допускаются в строке текста. Можно ли использовать preg_match для обнаружения существования символов вне диапазона предоставленных символов?
например:
$str1 = "abcdf9"
$str2 = "abcdf@"
$str3 = "abcdfg"
правовые символы = "az"
if (preg_match ()...) должен возвращать false для '$ str1' и '$str2', но 'tru' для $str3.
Будет ли это возможно?
2 ответа
Решение
if(!preg_match('/[^a-z]/', $string)) { //only a-z found }
//or
if(preg_match('/[^a-z]/', $string)) {
return false; // other stuff found
} else {
return true; // only a-z found
}
Посмотрите этот сайт очень полезно для развертывания вашего regEx
Что вам нужно, это /[az]/?
Вы можете указать количество символов с помощью /[az]{5}/