Please wait. Loading …

Перейти на главную страницу Горячие цены

Справочник

Большие буквы в русских словах

Довольно часто приходится программными методами сделать заглавными все буквы выражения или наоборот, все заглавные буквы сделать прописными. Иногда также требуется сделать заглавной первую букву слова.

Для этих целей в php существуют всем нам известные функции: strtolower(), strtoupper() и ucfirst(). Они прекрасно работают с латинским алфавитом, но при работе с кириллицей возникают проблемы.

С помощью класса string эти проблемы можно решить.

class string{

function strToUp($lo){
$up=array("а" => "А","б" => "Б","в" => "В","г" => "Г","д" => "Д","е" => "Е","ж" => "Ж","з" => "З","и" => "И",
"й" => "Й","к" => "К","л" => "Л","м" => "М","н" => "Н","о" => "О","п" => "П","р" => "Р","с" => "С",
"т" => "Т","у" => "У","ф" => "Ф","х" => "Х","ц" => "Ц","ч" => "Ч","ш" => "Ш","щ" => "Щ","ъ" => "Ъ",
"ы" => "Ы","ь" => "Ь","э" => "Э","ю" => "Ю","я" => "Я", "a" => "A", "b" => "B", "c" => "C","d" => "D","e" => "E","f" => "F","g" => "G","h" => "H","i" => "I","j" => "J",
"k" => "K","l" => "L","m" => "M","n" => "N","o" => "O","p" => "P","q" => "Q","r" => "R","s" => "S",
"t" => "T","u" => "U","v" => "V","w" => "W","x" => "X","y" => "Y","z" => "Z"
);

return strtr($lo, $up);
}

function strToLower($up){
$lo=array("А" => "а","Б" => "б","В" => "в","Г" => "г","Д" => "д","Е" => "е","Ж" => "ж","З" => "з","И" => "и",
"Й" => "й","К" => "к","Л" => "л","М" => "м","Н" => "н","О" => "о","П" => "п","Р" => "р","С" => "с",
"Т" => "т","У" => "у","Ф" => "ф","Х" => "х","Ц" => "ц","Ч" => "ч","Ш" => "ш","Щ" => "щ","Ъ" => "ъ",
"Ы" => "ы","Ь" => "ь","Э" => "э","Ю" => "ю","Я" => "я",
"A" => "a", "B" => "b", "C" => "c","D" => "d","E" => "e","F" => "f","G" => "g","H" => "h","I" => "i","J" => "j",
"K" => "k","L" => "l","M" => "m","N" => "n","O" => "o","P" => "p","Q" => "q","R" => "r","S" => "s",
"T" => "t","U" => "u","V" => "v","W" => "w","X" => "x","Y" => "y","Z" => "z"
);

return strtr($up, $lo);
}

function firstToUp($lo){
if (preg_match("/^([a-zA-Zа-яА-Я]{1})(.*)$/", $lo, $fl)){
$up=$this->strToUp($fl[1]).$fl[2];
}
else{
$up=$lo;
}
return $up;
}
}

Класс содержит три метода: strToUp(), strToLower() и firstToUp().

Создаем экземпляр класса и, вызывая необходимый метод, передаем в качестве параметра текстовое выражение.

$string=new string;
echo $this->strToUp("дизайн");
echo $this->strToLower("студия");
echo $this->firstToUp("руна");

Вернуться к списку

Справочник Runa