Регулярное выражение. Очень странно

Setti

Новичок
Регулярное выражение. Очень странно

почему такое может быть?

PHP:
$test_word = "са";
	if (!eregi("^[а-яА-ЯёЁ]+\$|^[a-zA-Z]+\$", $test_word)){
	echo "0";
	}else{
	echo "1";
}
выводит "1", а

PHP:
$test_word = "ср";
	if (!eregi("^[а-яА-ЯёЁ]+\$|^[a-zA-Z]+\$", $test_word)){
	echo "0";
	}else{
	echo "1";
}
выводит "0"
:confused:

-~{}~ 07.04.08 22:41:

все буквы кирилические
 

Setti

Новичок
Автор оригинала: dimagolov
locale ?
PHP:
setlocale(LC_ALL, 'ru_RU');
	if (!eregi("^[а-яА-ЯёЁ]+\$|^[a-zA-Z]+\$", $test_word)){
	echo "0";
	}else{
	echo "1";
	}
без изменений :(

PHP:
echo setlocale(LC_ALL, 'ru_RU'); // "ru_RU"
-~{}~ 07.04.08 23:18:

даже
PHP:
setlocale(LC_ALL, 'ru_RU.utf8');
, где 'ru_RU.utf8' из списка поддерживаемых локалей не помогает...
Страница и фалы в utf8
 

Setti

Новичок
Автор оригинала: dimagolov
С каких пор eregi стал UTF-8 поддерживать????
Спасибо большое!
Теперь работает

PHP:
$test_word = "ср";
	mb_regex_encoding("UTF-8");
	if (!mb_eregi("^[а-яА-ЯёЁ]+\$|^[a-zA-Z]+\$", $test_word)){
	echo "0";
	}else{
	echo "1";
	}
 
Сверху