- mb_strtoupper
- Список параметров
- Возвращаемые значения
- Примеры
- Примечания
- Смотрите также
- Замена регистра в строках PHP
- Проверка, является ли буква прописной или строчной
- Первая заглавная буква
- Для UTF-8:
- Первая строчная
- Для UTF-8:
- Все заглавные буквы
- Для UTF-8:
- Все строчные буквы
- Для UTF-8:
- Заглавная буква в каждом слове
- Для UTF-8:
- Инверсия регистра
- Комментарии 1
- strtoupper
- Список параметров
- Возвращаемые значения
- Список изменений
- Примеры
- Примечания
- Смотрите также
- User Contributed Notes 16 notes
- Работа с регистром строк в php
- Проверка регистра строки
- Первая заглавная буква
- Первая строчная буква
- Все заглавные буквы
- Все строчные буквы
- Заглавная буква в каждом слове
- Инверсия регистра строки
- PHP strtoupper() Function
- Syntax
- Parameter Values
- Technical Details
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
mb_strtoupper
Возвращает строку string , буквенные символы в которой приведены к верхнему регистру.
Список параметров
Параметр encoding представляет собой символьную кодировку. Если он опущен или равен null , вместо него будет использовано значение внутренней кодировки.
Возвращаемые значения
string , буквы в которой приведены к верхнему регистру.
Примеры
Пример #1 Пример использования mb_strtoupper()
$str = «У Мэри Был Маленький Ягнёнок и Она Его Очень ЛЮБИЛА» ;
$str = mb_strtoupper ( $str );
echo $str ; // Выведет У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК И ОНА ЕГО ОЧЕНЬ ЛЮБИЛА
?>?php
Пример #2 Пример использования mb_strtoupper() с нелатинскими буквами
$str = «Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός» ;
$str = mb_strtoupper ( $str , ‘UTF-8’ );
echo $str ; // Выведет ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
?>?php
Примечания
В отличие от strtoupper() , то что символ является буквой определяется на основании свойств символа Юникода. Таким образом на поведение функции не влияют региональные настройки системы, а также функция может преобразовывать символы, имеющие буквенные особенности, такие как а-умляут (ä).
За дополнительной информацией о свойствах Юникода обращайтесь в » http://www.unicode.org/reports/tr21/.
Смотрите также
- mb_strtolower() — Приведение строки к нижнему регистру
- mb_convert_case() — Производит смену регистра символов в строке
- strtoupper() — Преобразует строку в верхний регистр
Замена регистра в строках PHP
Список PHP-функций для изменения регистра символов в строках и примеры их использования.
Проверка, является ли буква прописной или строчной
Функция ctype_upper($string) – определяет, являются ли все буквы в строке в верхнем регистре.
$str = 'Ы'; if (ctype_upper($str)) < echo 'Заглавная'; >else
Вариант для кириллицы в кодировке UTF-8:
$str = 'Ы'; if (mb_strtolower($str) !== $str) < echo 'Заглавная'; >else < echo 'строчная'; >// Выведется «Заглавная»
Пример определения регистра для первой буквы в строке:
$text = 'Привет мир!'; $chr = mb_substr($text, 0, 1); if (mb_strtolower($chr) !== $chr) < echo 'Заглавная'; >else < echo 'строчная'; >// Выведется «Заглавная»
Первая заглавная буква
ucfirst($string) — преобразует первый символ строки в верхний регистр.
$text = 'привет Мир!'; echo ucfirst($text);
Для UTF-8:
if(!function_exists('mb_ucfirst')) < function mb_ucfirst($str) < $fc = mb_strtoupper(mb_substr($str, 0, 1)); return $fc . mb_substr($str, 1); >> $text = 'привет Мир!'; echo mb_ucfirst($text); // Привет Мир!
Первая строчная
ucfirst($string) — преобразует первый символ строки в верхний регистр.
$text = 'Привет Мир!'; echo lcfirst($text);
Для UTF-8:
if(!function_exists('mb_lcfirst')) < function mb_lcfirst($str) < $fc = mb_strtolower(mb_substr($str, 0, 1)); return $fc . mb_substr($str, 1); >> $text = 'Привет Мир!'; echo mb_lcfirst($text); // привет Мир!
Все заглавные буквы
Для UTF-8:
$text = 'привет Мир!'; echo mb_strtoupper($text); // ПРИВЕТ МИР!
Все строчные буквы
$text = 'Привет Мир!'; echo strtolower($text);
Для UTF-8:
$text = 'Привет Мир!'; echo mb_strtolower($text); // привет мир!
Заглавная буква в каждом слове
$text = 'привет мир!'; echo ucwords($text);
Для UTF-8:
if(!function_exists('mb_ucwords')) < function mb_ucwords($str) < $str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8"); return ($str); >> $text = 'привет мир!'; echo mb_ucwords($text); // Привет Мир!
Инверсия регистра
function mb_flip_case($string) < $characters = preg_split('/(?$char) < if (mb_strtolower($char, "UTF-8") != $char) < $char = mb_strtolower($char, 'UTF-8'); >else < $char = mb_strtoupper($char, 'UTF-8'); >$characters[$key] = $char; > return implode('', $characters); > $text = 'Привет Мир!'; echo mb_flip_case($text); // пРИВЕТ мИР!
Комментарии 1
function invertCase($text)
$string = »;
/*
Решение №1
$mb_strlen = mb_strlen($text);
$i = $mb_strlen;
while ($i > 0) $i—;
$char = mb_substr($text, $i, 1);
$char = (mb_strtolower($char) === $char) ? mb_strtoupper($char) : mb_strtolower($char);
$string = $char.$string;
>
*/
// Решение №2
$arr = mb_str_split($text, 1);
foreach ($arr as $char) $char = (mb_strtolower($char) === $char) ? mb_strtoupper($char) : mb_strtolower($char);
$string .= $char;
>
return $string;
>
Авторизуйтесь, чтобы добавить комментарий.
strtoupper
Возвращает строку string , в которой все буквенные символы ASCII переведены в верхний регистр.
Байты в диапазоне от «a» (0x61) до «z» (0x7a) будут преобразованы в соответствующую заглавную букву путём вычитания 32 из каждого значения байта.
Функцию можно использовать для преобразования символов ASCII в строках, закодированных в UTF-8, поскольку многобайтовые символы UTF-8 будут проигнорированы. Для преобразования многобайтовых не ASCII символов используйте функцию mb_strtoupper() .
Список параметров
Возвращаемые значения
Возвращает строку в верхнем регистре.
Список изменений
Версия | Описание |
---|---|
8.2.0 | Преобразование регистра больше не зависит от локали, установленной с помощью функции setlocale() . Будут преобразованы только символы ASCII. |
Примеры
Пример #1 Пример использования strtoupper()
$str = «Mary Had A Little Lamb and She LOVED It So» ;
$str = strtoupper ( $str );
echo $str ; // выводит: MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>?php
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Смотрите также
- strtolower() — Преобразует строку в нижний регистр
- ucfirst() — Преобразует первый символ строки в верхний регистр
- ucwords() — Преобразует в верхний регистр первый символ каждого слова в строке
- mb_strtoupper() — Приведение строки к верхнему регистру
User Contributed Notes 16 notes
One might think that setting the correct locale would do the trick with for example german umlauts, but this is not the case. You have to use mb_strtoupper() instead:
setlocale ( LC_CTYPE , ‘de_DE.UTF8’ );
echo strtoupper ( ‘Umlaute äöü in uppercase’ ); // outputs «UMLAUTE äöü IN UPPERCASE»
echo mb_strtoupper ( ‘Umlaute äöü in uppercase’ , ‘UTF-8’ ); // outputs «UMLAUTE ÄÖÜ IN UPPERCASE»
Here is how to make the character in upper case, except HTML-entities:
There is small kludge, however. Unfortunately I tired to find out the way how to exclude HTML-entity at the start of the line, so I have added 1 dummy character at the start of the text and removing it after the conversion.
something I myself first not thought about:
if there are any html entities (named entities) in your string, strtoupper will turn all letters within this entities to upper case, too. So if you want to manipulate a string with strtoupper it should contain only unicode entities (if ever).
When using UTF-8 and need to convert to uppercase with
special characters like the german ä,ö,ü (didn’t test for french,polish,russian but think it should work, too) try this:
function strtoupper_utf8($string) $string=utf8_decode($string);
$string=strtoupper($string);
$string=utf8_encode($string);
return $string;
>
If you only need to extend the conversion by the characters of a certain language, it’s possible to control this using an environment variable to change the locale:
It has been mentioned in a previous comment that all you need to do to let PHP’s strtoupper() do the conversion — instead of writing more or less complicated functions yourself — is to specify the locale in which you’re doing the case conversion:
It is important to note that setlocale() will silently fail if it can’t find the specified locale on your system, so *always* check its return value. Try different spellings: using «de_AT» as an example, there are various combinations that may or may not work for you: «de», «de_AT.utf8», «de_AT.iso-8859-1», «de_AT.latin1», «de_AT@euro», etc).
If you can’t find an appropriate locale setting, check your system configuration (locales are a system-wide setting, PHP gets them from the OS). On Windows, locales can be set from the Control Panel; on Linux it depends on your distribution. You can try «sudo dpkg-reconfigure locales» on Debian-based distros, or configure them manually. On Ubuntu Dapper, I had to copy entries over from /usr/share/i18n/SUPPORTED to /var/lib/locales/supported.d/local, then do the dpkg-reconfigure.
After you’re done, restart the web server.
That said, there are special cases where you want to do the conversion manually. In German, for example, the letter ‘ß’ (szlig) only exists as a lower-case character, and so doesn’t get converted by strtoupper. The convential way to express a ‘ß’ in an uppercase string is «SS». This function will take care of this exception (for Latin1 and most of Latin9, at least):
define ( «LATIN1_UC_CHARS» , «ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ» );
define ( «LATIN1_LC_CHARS» , «àáâãäåæçèéêëìíîïðñòóôõöøùúûüý» );
function uc_latin1 ( $str ) $str = strtoupper ( strtr ( $str , LATIN1_LC_CHARS , LATIN1_UC_CHARS ));
return strtr ( $str , array( «ß» => «SS» ));
>
Работа с регистром строк в php
Не пропусти свежие посты, подпишись:
В php есть набор функций позволяющих проверять или как-то влиять на регистр строки. Давайте рассмотрим их подробнее.
Проверка регистра строки
$str = 'Test string'; if(ctype_upper(mb_substr($str, 0, 1)))< echo 'Первая буква строки «' . $str . '» заглавная'; > else < echo 'Первая буква строки ' . $str . ' прописная'; >
Первая буква строки «Test string» заглавная
С кириллицей тут есть засада, mb_substr() хотя и возвращает корректный символ, но его почему-то не распознаёт ctype_upper() как заглавную буку. Поэтому можно реализовать такую проверку:
$str = 'Строка для проверки'; $firstLetter = mb_substr($str, 0, 1); if(mb_strtolower($firstLetter) != $firstLetter)< echo 'Первая буква строки «' . $str . '» заглавная'; > else < echo 'Первая буква строки ' . $str . ' прописная'; >
Первая буква строки строка для проверки прописная
Первая заглавная буква
Функция ucfirst($str) преобразует первый символ строки $str в заглавный. Для кириллических строк следует использовать пользовательскую функцию mb_ucfits() , пример:
//Проверяем что такуй функции нет if(!function_exists('mb_ucfirst')) < //Добавляем функцию function mb_ucfirst($str) < //Преобразуем первый символ $fc = mb_strtoupper(mb_substr($str, 0, 1)); //Возвращаетм строку return $fc . mb_substr($str, 1); >> $str = 'cтрока для проверки'; echo mb_ucfirst($str); // 'Строка для проверки
Первая строчная буква
Функция lcfirst($str) приводит первый символ строки $str к нижнему регистру. Для работы с UTF-8 (кириллицей), нужна своя функция:
//Проверяем что такуй функции нет if(!function_exists('mb_lcfirst')) < function mb_lcfirst($str) < $fc = mb_strtolower(mb_substr($str, 0, 1)); return $fc . mb_substr($str, 1); >> $str = 'Cтрока для проверки'; echo mb_ucfirst($str); // 'cтрока для проверки
Все заглавные буквы
Функции strtoupper($string), mb_strtoupper($string) — преобразует строку в верхний регистр. Префикс mb_ для кириллицы (UTF-8).
$str = 'Cтрока для проверки'; echo mb_strtoupper($str); // CТРОКА ДЛЯ ПРОВЕРКИ
Все строчные буквы
Функции strtolower($string), mb_strtolower($string) — приводят строки к нижнему регистру. Для UTF-8 так же используется функция с премифксом mb_.
$str = 'CтроКа Для проАерки'; echo mb_strtolower($str); // cтрока для проаерки
Заглавная буква в каждом слове
Если вам нужно вывести расшифровку аббревиатуры какой-нибудь организации, а у вас есть строка в нижнем регистре, воспользуйтесь функцией ucwords() . Она сделает в строке каждое слово с заглавной буквы.
$str = 'National hockey league'; echo 'NHL is ' . ucwords($str); //NHL is National Hockey League
if(!function_exists('mb_ucwords')) < function mb_ucwords($str) < $str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8"); return ($str); >> $str = 'федеральная служба безопасности'; echo 'ФСБ можно расшифровать как «' . mb_ucwords($str) . '»'; //ФСБ можно расшифровать как «Федеральная Служба Безопасности»
Инверсия регистра строки
И для закрепления материала, воспользуйтесь примером и разберитесь как работает функция позволяющая провести инверсию регистра. Т.е. сделать все заглавные буквы строчными и наоборот.
function mb_inversion_case($str) < //Разбиваем строку посимвольно в массив $characters = preg_split('/(?$char) < if (mb_strtolower($char, 'UTF-8') != $char) < $char = mb_strtolower($char, 'UTF-8'); >else < $char = mb_strtoupper($char, 'UTF-8'); >//Кладём преобразованный символ в массив по тому же индексу $characters[$key] = $char; > //Собираем строку обратно и вовзращаем return implode('', $characters); > $str = 'У лукОМорья Дуб зелёный.'; echo mb_inversion_case($str); //у ЛУКомОРЬЯ дУБ ЗЕЛЁНЫЙ.
Удачи в работе со строками!
Не пропусти свежие посты, подпишись:
PHP strtoupper() Function
The strtoupper() function converts a string to uppercase.
Note: This function is binary-safe.
- strtolower() — converts a string to lowercase
- lcfirst() — converts the first character of a string to lowercase
- ucfirst() — converts the first character of a string to uppercase
- ucwords() — converts the first character of each word in a string to uppercase
Syntax
Parameter Values
Technical Details
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.