Список PHP-функций для изменения регистра символов в строках и примеры их использования.
Функция ctype_upper($string) – определяет, являются ли все буквы в строке в верхнем регистре.
Вариант для кириллицы в кодировке UTF-8:
$str = 'Ы';
if (mb_strtolower($str) !== $str) {
echo 'Заглавная';
} else {
echo 'строчная';
}
// Выведется «Заглавная»
Пример определения регистра для первой буквы в строке:
ucfirst($string) — преобразует первый символ строки в верхний регистр.
Для UTF-8:
ucfirst($string) — преобразует первый символ строки в верхний регистр.
Для UTF-8:
strtoupper($string), mb_strtoupper($string) — преобразует строку в верхний регистр.
Для UTF-8:
strtolower($string), mb_strtolower($string) — приводят строки к нижнему регистру.
Для UTF-8:
Для UTF-8:
function mb_flip_case($string) {
$characters = preg_split('/(?<!^)(?!$)/u', $string);
foreach ($characters as $key => $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); // пРИВЕТ мИР!
{
$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;
}