#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;
Комментариев нет:
Отправить комментарий