mb_strtoupper
(PHP 4 >= 4.3.0, PHP 5)
mb_strtoupper — Приведение строки к верхнему регистру
Описание
$str
[, string $encoding
= mb_internal_encoding()
] )
Возвращает строку str
, буквенные символы в которой
приведены к верхнему регистру.
Список параметров
-
str
-
Исходная строка string.
-
encoding
-
Параметр
encoding
представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.
Возвращаемые значения
str
, буквы в которой приведены к верхнему регистру.
Юникод
За дополнительной информацией о свойствах Юникода обращайтесь в » http://www.unicode.org/unicode/reports/tr21/.
В отличие от strtoupper(), то что символ является буквой определяется на основании свойств символа Юникода. Таким образом на поведение функции не влияют региональные настройки системы, а также функция может преобразовывать символы, имеющие буквенные особенности, такие как а-умляут (ä).
Примеры
Пример #1 Пример использования mb_strtoupper()
<?php
$str = "У Мэри Был Маленький Ягненок и Она Его Очень ЛЮБИЛА";
$str = mb_strtoupper($str);
echo $str; // Выведет У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК И ОНА ЕГО ОЧЕНЬ ЛЮБИЛА
?>
Пример #2 Пример использования mb_strtoupper() с нелатинскими буквами
<?php
$str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
$str = mb_strtoupper($str, 'UTF-8');
echo $str; // Выведет ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
?>
Смотрите также
- mb_strtolower() - Приведение строки к нижнему регистру
- mb_convert_case() - Производит смену регистра символов в строке
- strtoupper() - Преобразует строку в верхний регистр
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Поддержка языков и кодировок
- Многобайтные строки
- mb_check_encoding
- mb_convert_case
- mb_convert_encoding
- mb_convert_kana
- mb_convert_variables
- mb_decode_mimeheader
- mb_decode_numericentity
- mb_detect_encoding
- mb_detect_order
- mb_encode_mimeheader
- mb_encode_numericentity
- mb_encoding_aliases
- mb_ereg_match
- mb_ereg_replace_callback
- mb_ereg_replace
- mb_ereg_search_getpos
- mb_ereg_search_getregs
- mb_ereg_search_init
- mb_ereg_search_pos
- mb_ereg_search_regs
- mb_ereg_search_setpos
- mb_ereg_search
- mb_ereg
- mb_eregi_replace
- mb_eregi
- mb_get_info
- mb_http_input
- mb_http_output
- mb_internal_encoding
- mb_language
- mb_list_encodings
- mb_output_handler
- mb_parse_str
- mb_preferred_mime_name
- mb_regex_encoding
- mb_regex_set_options
- mb_send_mail
- mb_split
- mb_strcut
- mb_strimwidth
- mb_stripos
- mb_stristr
- mb_strlen
- mb_strpos
- mb_strrchr
- mb_strrichr
- mb_strripos
- mb_strrpos
- mb_strstr
- mb_strtolower
- mb_strtoupper
- mb_strwidth
- mb_substitute_character
- mb_substr_count
- mb_substr
Коментарии
Please note, that in many cases, forcing UTF-8 encoding with second parameter is necessary. PHP documentation states that if this parameter is omitted, the internal character encoding value will be used. But in my case it turned out to be not true. Even though I have all my pages encoded in UTF-8 and my DB connection set to force UTF-8 encoding, comparison of user-input and DB-retrieved data, which is using mb_strtoupper, did not work until I forced encoding.
mb_strtoupper() will not convert the German "ß" character into its (relatively new) uppercase form ("ẞ").
mb_strtolower() will, however, convert the uppercase form into a lowercase "ß". (tested with PHP 5.5.0)
"SS" is still the most common uppercase presentation of "ß". If you want this, you'll have to do it manually:
<?php
mb_internal_encoding("UTF-8");
echo mb_strtoupper("Maß\n"); // "MAß"
echo mb_strtolower("MAẞ\n"); // "maß"
echo mb_strtoupper(str_replace("ß", "SS", "Maß\n")); // "MASS"
?>