Страницы

Поиск по вопросам

среда, 15 мая 2019 г.

Как сделать последнюю букву заглавной UTF-8

$word = "слово";
как сделать:
$word = "словО";


Ответ

Для многобайтовых строк, таких как UTF-8 сущестуют специальные функции:
$enc = 'UTF-8'; $word = "слово"; $count = mb_strlen($word, $enc); //Узнаем количество символов в MB строке $new_word = mb_substr($word, 0, ($count - 1), $enc); $new_word = $new_word . mb_strtoupper(mb_substr($word,($count - 1), 1, $enc), $enc); echo $new_word;
Результат будет: словО
Функции с приставкой mb_ учитывают что символы могут быть разного размера. Например:
$str = 'FФ'; //Первый символ латиницей, второй кириллицей
$size = strlen($str); //Для строки в UTF-8 вернет 3
$size = mb_strlen($str); //Для строки в UTF-8 вернет 2
Это источник многих ошибок для начинающего программиста.

Комментариев нет:

Отправить комментарий