if(preg_match("/^[а-яА-Я]{1,50}$/",$this->zvanie) and preg_match("/^[а-яА-Яa-zA-Z]{1,30}$/",$this->otdel)) { тра-ля-ля } Короче в конечном итоге когда вводим текст условие не выполняется, с английским вариантом все окей, но нужен русский. Мож кто знает как? Второе, если мы используем проверку переменной через preg_match есть ли резон использовать функцию htmlentities() ? И собственно третий когда я переменную прогоняю через htmlentities() мне ее надо использовать, но блин если текст вводится на русском, то выходит абра-кадабра, я уже пытался и кодировки прописывать в параметрах, не помогло. Как сделать, чтобы не было абра-кадабры?
NITRO, Ваша проблема в кодировках Используйте везде UTF-8. С кодировкой UTF-8 нужно добавить модификатор u PHP: <? if (preg_match("/^[а-яА-Я]{1,50}$/u", 'Звание') and preg_match("/^[а-яА-Яa-zA-Z]{1,30}$/u", 'Отдел')) { echo 'valid'; } else { echo 'fail'; } 2. нет резона