Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

strtolower с русскими буквами

254
05 июля 2005 года
Cker
341 / / 20.08.2000
почему может не работать strtolower с русскими буквами?
пробовал прописывать setlocale(LC_ALL, 'ru_RU');
непомагает...
8
06 июля 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by Cker
почему может не работать strtolower с русскими буквами?
пробовал прописывать setlocale(LC_ALL, 'ru_RU');
непомагает...


Потому что на не должна работать с кириллицей. Такая вот хохма. Можно свою написать.

Код:
function change_cyr_register($str='',$to='lower')
{
    $lower = array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ь','ы','ъ','э','ю','я');
    $upper = array('А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ь','Ы','Ъ','Э','Ю','Я');
    if($to=='lower') {$pat = &$upper; $rep = &$lower;}
    elseif($to=='upper') {$pat = &$lower; $rep = &$upper;}
    for($n=0; $n<sizeof($pat); ++$n)
    {
        $str = preg_replace("/".$pat[$n]."/",$rep[$n],$str);
    }
    return $str;
}
7.1K
27 декабря 2005 года
ASL
34 / / 16.08.2005
Спасибо, мне очень пригодилось, только-что сам попался. Под Windows было все нормально, а после загрузки на сервер увидел результат работы и ужаснулся :-). Еще раз спасибо всем участникам форума.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог