Страницы

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

пятница, 28 февраля 2020 г.

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

#php


$word = "слово";


как сделать:

$word = "словО";

    


Ответы

Ответ 1



Для многобайтовых строк, таких как 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 Это источник многих ошибок для начинающего программиста.

Ответ 2



$str = "привет мир"; $last = strlen($str)-1; list($str[$last-1], $str[$last]) = mb_strtoupper($str[$last-1].$str[$last], 'UTF8'); echo $str;

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

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