Php. Преобразование регистра работает "наоборот"?

Coolmac
На сайте с 08.09.2011
Offline
60
403

Приветствую.

Есть такая функция:


function _register($string,$type=0){

if($type != 0){
if($type == 1){$string = ucwords(strtolower($string));}
elseif ($type == 2) {$string = strtolower($string);}
elseif ($type == 3) {$string = strtoupper($string);}
}
return $string;
}

Проблема.

В $type = 1 мы должны получать "Вот такую строку", а получаем "вОТ ТАКУЮ СТРОКУ".

В $type = 2 мы получаем "ВОТ ТАКУЮ ФРАЗУ".

В $type = 3 мы получаем "вот такую фразу".

А долно же быть наоборот. Локально все впорядке, на хостинге вот такое. Может кто-то сталкивался с подобным? Что может служить причиной такой работы функций? В общем просто ваши мысли нужны. С подобным столкнулся впервые. Заранее спасибо.

З.ы. cms DLE.

Доступные vps/ds с грамотной тех. поддержкой (https://my.friendhosting.net/pl.php?11304)
wwwwww
На сайте с 29.04.2011
Offline
195
#1
Coolmac:
В $type = 1 мы должны получать "Вот такую строку", а получаем "вОТ ТАКУЮ СТРОКУ".

ucwords -- Преобразует в верхний регистр первый символ каждого слова в строке

Видишь? Свободная подпись.
Coolmac
На сайте с 08.09.2011
Offline
60
#2
wwwwww:
ucwords -- Преобразует в верхний регистр первый символ каждого слова в строке

Да, дико извиняюсь, уже засыпаю. "Вот Такую Строчку" должны получить, а "вОТ тАКУЮ сТРОКУ" получаем.

wwwwww
На сайте с 29.04.2011
Offline
195
#3
Coolmac:
Да, дико извиняюсь, уже засыпаю. "вОТ тАКУЮ сТРОКУ" получаем.

Попробуйте нписать хостеру - это 1.

Ну и самое простое - отладить пробовали? Самое простое вывести с помощью echo строку сразу после преобразования. Потому что сложно сказать - не работает стандартная функция или у Вас дальше присходят преобразования.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий