RuWeb.net Forum

Регулярные выражения и русские буквы
Velvet - 10.2.2005 в 18:10

Доброго времени суток.

Имеется простенькая функция:

function valid_str ($str){
if (preg_match('/^([[:alpha:]])*$/',$str)) return true;
else return false;

Дома на серваке работает нормально. Здесь, на 209.123.8.188 на русские буквы выдает false.

Подскажите, пожалуйста, как побороть?


support - 10.2.2005 в 20:31

ну попробуйте предварительно локаль установить
setlocale (LC_ALL, 'ru_RU.cp1251');
если не поможет - тогда даже не знаю...

[Изменено 10.2.2005 от support]


Anonymous - 24.2.2005 в 16:47

У нас тоже не работает. Установка локали не помогла.
Устанавливал вот так:
setlocale (LC_CTYPE, "ru_RU.cp1251";);
и вот так:
setlocale(LC_CTYPE,"ru_RU.CP-1251";);

Раньше вроде работало, но не уверен.

Например не работает функция strtoupper с русскими буквами.
Не работает preg_replace с ключиком i - то есть если я хочу чтобы не было разницы с регистром букв.
Если искать регекспом просто русское слово то находит. А вот регистр букв не учитывает.

Логин lotokcom.


Anonymous - 24.2.2005 в 16:55

Решил !

setlocale (LC_ALL, array ("ru_RU.CP1251", "rus_RUS.1251";));

Логин lotokcom.


Anonymous - 24.2.2005 в 16:57

Что то форум смайлики не тудж вставляет.
Подробнее как ни странно здесь. Комент от 18 января 2005

http://ua.php.net/setlocale