Php первая буква заглавная кириллица. Как сделать первую букву заглавной на PHP
PHP хорош многообразием нативных функций языка. Однако, в некоторых случаях приходится дописывать недостающий функционал. Особенно это заметно при работе с функциями преобразования строк и различными кодировками.
Например, ucfirst - функция, которая преобразовывает первый символ строки в верхний регистр. Казалось бы, не должно возникнуть никаких проблем, но при работе с кириллицей такого преобразования не происходит. Это касается и функции ucwords - преобразует в верхний регистр первый символ каждого слова в строке.
С символами анг.алфавита проблем не возникает:
Test string Test String
Но с кириллицей возникают проблемы:
Тестовая строка тестовая строка
Для PHP типичны случаи, когда функции "плохо" или вообще не работают с кириллицей. Некоторые функции с приставкой mb решают проблемы с кириллицей. Например, mb_strtolower - приведение строки к нижнему регистру. В отличие от strtolower(), то что символ является буквой определяется на основании свойств символа Юникода.
Для решения проблемы определим функцию mb_ucfirst(string str [, string encoding]), которая будет обрабатывать символы Юникода.
Результат на экране
First letters
First Letters
С кириллицей в Windows-1251 проблем так же не должно возникнуть.
Результат на экране
Первые буквы
Первые Буквы
С кириллицей в юникоде функции ucfirst() и ucwords() не справятся и преобразований не произойдет.
Для этого определяется функция mb_ucfirst(string str [, string encoding]) , которая будет обрабатывать юникод-строки.
Результат на экране
первые буквы
первые буквы
Первые буквы
Первые Буквы