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 меньше $str2
  • 0, если строки равны
  • 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);
// Результат: 'Медленная бурая лиса'

Особенности работы

  • Метод поддерживает многобайтовые символы
  • Учитывает указанную кодировку
  • Выполняет все вхождения искомой строки

Рекомендации по использованию

  1. При работе с текстом:

    • Всегда указывайте правильную кодировку
    • Проверяйте длину строк перед заменой
    • Используйте регулярные выражения для сложных замен
  2. При обработке пользовательского ввода:

    • Экранируйте специальные символы
    • Проверяйте допустимость символов
    • Обрабатывайте ошибки кодировки

На главную | Содержание