Замена регистра в строках PHP

Список PHP-функций для изменения регистра символов в строках и примеры их использования.

1

Функция ctype_upper($string) – определяет, являются ли все буквы в строке в верхнем регистре.

$str = 'Ы';
if (ctype_upper($str)) {
	echo 'Заглавная';
} else {
	echo 'строчная';
}
PHP

Вариант для кириллицы в кодировке UTF-8:

$str = 'Ы';
if (mb_strtolower($str) !== $str) {
	echo 'Заглавная';
} else {
	echo 'строчная';
}

// Выведется «Заглавная»
PHP

Пример определения регистра для первой буквы в строке:

$text = 'Привет мир!';
$chr = mb_substr($text, 0, 1);
if (mb_strtolower($chr) !== $chr) {
	echo 'Заглавная';
} else {
	echo 'строчная';
}

// Выведется «Заглавная»
PHP
2

ucfirst($string) — преобразует первый символ строки в верхний регистр.

$text = 'привет Мир!';
echo ucfirst($text); 
PHP

Для 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); // Привет Мир!
PHP
3

ucfirst($string) — преобразует первый символ строки в верхний регистр.

$text = 'Привет Мир!';
echo lcfirst($text); 
PHP

Для 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); // привет Мир!
PHP
4

strtoupper($string), mb_strtoupper($string) — преобразует строку в верхний регистр.

Для UTF-8:

$text = 'привет Мир!';
echo mb_strtoupper($text); // ПРИВЕТ МИР!
PHP
5

strtolower($string), mb_strtolower($string) — приводят строки к нижнему регистру.

$text = 'Привет Мир!';
echo strtolower($text);
PHP

Для UTF-8:

$text = 'Привет Мир!';
echo mb_strtolower($text); // привет мир!
PHP
6
$text = 'привет мир!';
echo ucwords($text);
PHP

Для 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); // Привет Мир!
PHP
7
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); // пРИВЕТ мИР!
PHP
25.11.2021, обновлено 28.11.2021
14410

Комментарии 1

Алексей Петров Алексей Петров
2 июля 2023 в 17:57
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;
}

, чтобы добавить комментарий.

Другие публикации

Обрезка текста для анонса
В случаях где анонсы не заполнены, сформировать и вывести их можно несколькими способами...
7967
+4
Генерация паролей в PHP
В PHP есть несколько функций для генерации случайного числа, это rand(), mt_rand() и random_int().
22717
+11
Шаблонизатор Smarty
Smarty это компилирующий обработчик шаблонов для PHP позволяющий отделить логику и HTML-верстку веб-приложения.
26862
+5
Работа с числами в PHP
Сборник математических функций PHP и примеры их использования.
21566
+5
Преобразование цветов в PHP
Несколько примеров как перевести цвета из HEX в RGB и обратно с помощью PHP.
15896
-1
Работа с Textarea jQuery
Сборник jQuery приемов с textarea - получить содержимое, вставить значение, подсчет количества символов и строк и т.д.
53451
+3