Первый символ строки в верхний регистр, кириллица
Предположим, что нам надо сделать так, что бы первый символ строки был в верхнем регистре, а остальные в нижнем
Кириллица
Первым делом на ум приходит использовать связку функций strtolower и ucwords, но к сожалению они работают только с латинским алфавитом. И что бы заставить их нормально работать с кириллицей, придется изрядно поскакать с бубном.
Но тут нам на помощь придёт функция mb_convert_case, она сначала переведёт все символы в нижний регистр, а потом у каждого слова, первую букву переведёт в верхний.
Пример вызовы для строки $str
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
Если необходимо перевести в верхний регистр только первую букву у первого слова, то можно предварительно заменить пробелы на какой либо знак (например #). А после использования функции mb_convert_case, поменять символы обратно на пробелы.