Первый первый символ с заглавной, остальные в нижний регистр
function mb_ucfirst($string, $enc = 'UTF-8')
{
$string = preg_replace(['~[^\s\d/A-Z_a-zЁА-яё-]+~ui', '# +#i', '#^(?:\h*\R)+|\s+$#is'], [null, ' ', null], mb_strtolower(trim($string), $enc));
return trim(mb_strtoupper(mb_substr($string, 0, 1, $enc), $enc).mb_substr($string, 1, mb_strlen($string, $enc), $enc), ' ');
}
print_r(mb_ucfirst('adsad '));
print_r(mb_ucfirst('הראשי'));
Давно писал, с русским алфавитом и англ работает на ура. Но что, если это арабский, как заставить работать с арабским и другими языками.
Функция для того, чтобы привести первый символ к верхнему регистру, остальные к нижнему. Я так понимаю удаляет в регулярке
Как ее привести так, чтобы не удаляла буквы, толком не помню что находим и удаляем...
'~[^\s\d/A-Z_a-zЁА-яё-]+~ui' - не помню
'# +#i' - если не ошибаюсь, находим один и более пробелы подряд
'#^(?:\h*\R)+|\s+$#is' - не помню