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

  • Автор темы Автор темы Setti
  • Дата начала Дата начала

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"
o_O

-~{}~ 07.04.08 22:41:

все буквы кирилические
 
Автор оригинала: 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
 
Автор оригинала: 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";
	}
 
Сверху