Our Blog

Функции strtoupper() strtolower() не работают или работают неправильно

Сегодня пытался в своем PHP-скрипте использовать функции strtoupper() strtolower(). Если кто-то не знают, эти функции предназначены для перевода всех букв строки в верхний или нижний регистр. С английскими буквами они работают на ура. А вот с русскими буквами не заработало. Пробовал настраивать локаль — тоже не помогло. Пришлось искать альтернативу..

Итак, что же делать, если Функции strtoupper() strtolower() не работают или работают неправильно?

В итоге я пришел к двум функциям:

<?php 
function toUpper($content) { //трансформирует все буквы в верхний регистр
  $content = strtr($content, "абвгдеёжзийклмнорпстуфхцчшщъьыэюя", 
"АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ"); 
  return strtoupper($content); 
} 

function toLower($content) { //трансформирует все буквы в нижний регистр
  $content = strtr($content, "АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ", 
"абвгдеёжзийклмнорпстуфхцчшщъьыэюя"); 
  return strtolower($content); 
} 
?>

Надеюсь Вам они помогут!

Comments ( 0 )
    -->