extensions/StringExtension.md
Класс StringExtension
Пространство имён: goodboyalex\php_components_pack\extensions
Версия: 1.1
Доступно с: 1.0
Описание
Класс предоставляет дополнительные методы для работы со строками, расширяющие стандартный функционал PHP.
Автор
- Имя: Александр Бабаев
- Email: contact_with_us@babaev-an.ru
Методы класса
compare()
public static function compare(?string $str1, ?string $str2, bool $ignoreCase = false): int
Описание: Сравнивает две строки с возможностью игнорирования регистра.
Параметры:
$str1(?string) — первая строка$str2(?string) — вторая строка$ignoreCase(bool) — флаг игнорирования регистра (по умолчаниюfalse)
Возвращаемое значение:
-1, если$str1меньше$str20, если строки равны1, если$str1больше$str2
Пример:
echo StringExtension::compare('abc', 'ABC', true); // Выведет 0
echo StringExtension::compare('abc', 'abd'); // Выведет -1
isNullOrWhitespace()
public static function isNullOrWhitespace(?string $str): bool
Описание: Проверяет, является ли строка пустой или содержит только пробелы.
Параметр:
$str(?string) — проверяемая строка
Возвращаемое значение:
bool— результат проверки
Пример:
echo StringExtension::isNullOrWhitespace(' '); // Выведет true
echo StringExtension::isNullOrWhitespace('test'); // Выведет false
isNullOrEmpty()
public static function isNullOrEmpty(?string $str): bool
Описание: Проверяет, является ли строка пустой.
Параметр:
$str(?string) — проверяемая строка
Возвращаемое значение:
bool— результат проверки
Пример:
echo StringExtension::isNullOrEmpty(''); // Выведет true
echo StringExtension::isNullOrEmpty('test'); // Выведет false
convertToLatin()
public static function convertToLatin(string $source): string
Описание: Конвертирует строку в латиницу (транслитерация).
Параметр:
$source(string) — исходная строка
Возвращаемое значение:
string— транслитерированная строка
Пример:
echo StringExtension::convertToLatin('Привет'); // Выведет 'Privet'
getShortText()
public static function getShortText(string $text, int $maxLength, string $endDots = ''): string
Описание: Обрезает строку до указанной длины.
Параметры:
$text(string) — исходный текст$maxLength(int) — максимальная длина$endDots(string) — суффикс в конце обрезанной строки
Возвращаемое значение:
string— обрезанная строка
Пример:
echo StringExtension::getShortText('Длинная строка для примера', 10, '...'); // Выведет 'Длинная стр...'
replaceAll()
public static function replaceAll(array $searchReplace, string $subject, string $encoding = 'UTF-8'): string
Описание: Заменяет все вхождения строк поиска на соответствующие строки замены.
Параметры:
$searchReplace(array) — массив пар поиска и замены$subject(string) — строка для замены$encoding(string) — кодировка (по умолчанию UTF-8)
Возвращаемое значение:
string— строка с выполненными заменами
Пример:
$result = StringExtension::replaceAll(['-'=>'_', ' '=>''], 'test-string with spaces');
// Выведет 'test_stringwithspaces'
Метод replace()
public static function replace(string $search, string $replace, string $subject, string $encoding = 'UTF-8'): string
Описание: Метод заменяет все вхождения строки поиска на строку замены в заданной строке.
Параметры:
$search(string) — строка для поиска$replace(string) — строка для замены$subject(string) — исходная строка$encoding(string) — кодировка (по умолчанию UTF-8)
Возвращаемое значение:
string— строка с выполненными заменами
Примеры использования
Базовый пример
$text = 'Hello world!';
$result = StringExtension::replace('world', 'PHP', $text);
// Результат: 'Hello PHP!'
Работа с UTF-8
$text = 'Привет мир!';
$result = StringExtension::replace('мир', 'PHP', $text);
// Результат: 'Привет PHP!'
Массовая замена
$text = 'Быстрая бурая лиса';
$result = StringExtension::replace('Быстрая', 'Медленная', $text);
// Результат: 'Медленная бурая лиса'
Особенности работы
- Метод поддерживает многобайтовые символы
- Учитывает указанную кодировку
- Выполняет все вхождения искомой строки
Рекомендации по использованию
-
При работе с текстом:
- Всегда указывайте правильную кодировку
- Проверяйте длину строк перед заменой
- Используйте регулярные выражения для сложных замен
-
При обработке пользовательского ввода:
- Экранируйте специальные символы
- Проверяйте допустимость символов
- Обрабатывайте ошибки кодировки