Как перевести строку в верхний или нижний регистр
Короткий ответ
Используйте функции с приставкой mb_ — они работают с любым алфавитом:
<?php
echo mb_strtoupper('привет, world'), "\n";
echo mb_strtolower('ПРИВЕТ, World');Результат:
ПРИВЕТ, WORLD
привет, worldПочему не strtoupper()
Обычные функции меняют только латиницу:
<?php
echo strtoupper('привет, world');Результат:
привет, WORLDЗаглавная первая буква
Для кириллицы первую букву переводят отдельно:
<?php
$text = 'привет';
echo mb_strtoupper(mb_substr($text, 0, 1)) . mb_substr($text, 1);Результат:
ПриветФункции из этого ответа
- mb_strtoupper — Переводит строку в верхний регистр.
- mb_strtolower — Переводит строку в нижний регистр с учётом любого алфавита.
- strtoupper — Переводит латинские буквы в верхний регистр.