[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обработка строк
Kolyunya
Нужно было переводить строки из разных регистров в разные другие (например СamelСase в kebab-case и т. д.) в том числе, когда исходный формат неизвестен. Не найдя соответствующей библиотеки ни в композере, ни на гитхабе, решил устранить это недоразумение.

Использовать очень просто и удобно, все есть в документации. Можно не указывать исходный формат, разберется сам, можно указать и будет работать быстрее. Кроме стандартных форматов, автоматически обрабатывает сложные нестандартные форматы строк:

echo KebabCaseFormatter::run('__some-weirdString case---'); // Output: "some-weird-string-case"


Также реализовано несколько процессоров другого рода. Процессоры умеют комбинироваться. Например, можно очистить строку от знаков пунктуации, перевести в транслит, потом в шашлычный регистр - получим URL slug из предложения на русском языке.

$processor = new Multiprocessor([
new PunctuationStripper(),
new KebabCaseFormatter(),
new RuEnTranslator(),
]);

echo $processor->process('Лорем ипсум долор сит амет'); // Output: "lorem-ipsum-dolor-sit-amet"
echo $processor->process('Привет, Мир!'); // Output: "privet-mir"


Кому нравится паттерн декоратор, процессоры умеют декорироваться:
$processor =
(
new RuEnTranslator())->decorate(
(
new KebabCaseFormatter())->decorate(
(
new PunctuationStripper())
)
);

echo $processor->process('Лорем ипсум долор сит амет'); // Output: "lorem-ipsum-dolor-sit-amet"
echo $processor->process('Привет, Мир!'); // Output: "privet-mir"

Предложения, замечания, баг-репорты, пул-реквесты и звездочки приветствуются.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.