Регистр текста

Верхний и нижний регистр

Преобразовать текст в верхний или в нижний регистр можно через функции mb_strtoupper() и mb_strtolower().

$text = 'Текст';
$text = mb_strtoupper($text, 'UTF-8'); // ТЕКСТ
$text = mb_strtolower($text, 'UTF-8'); // текст

Функции strtoupper() и strtolower() не рекомендуется использовать, т.к. они не понимают Юникод (т.е. не преобразует русские символы в указанный регистр).

Сделать первую букву заглавной

Сделать первую букву заглавной можно через функцию ucfirst().

ucfirst('zend'); // Zend

Функция ucfirst() не понимает юникод, т.е. он не преобразует русские символы в верхний регистр. Для этого надо создать свою функцию.

function mb_ucfirst($string, $enc = 'UTF-8') {
    return mb_strtoupper(mb_substr($string, 0, 1, $enc), $enc).mb_substr($string, 1, mb_strlen($string, $enc), $enc);
}

echo mb_ucfirst('zend'); // Zend
echo mb_ucfirst('зенд'); // Зенд

Сделать каждое слово с заглавной буквы

Сделать каждое слово с заглавной буквы можно через функцию mb_convert_case().

mb_convert_case('hello world', MB_CASE_TITLE); // Hello World
mb_convert_case('привет мир', MB_CASE_TITLE);  // Привет Мир

Также есть функция ucwords(), но она не понимает юникод, т.е. он не преобразует русские символы в верхний регистр.