Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Обработка строк
Kolyunya  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 1
Пользователь №: 42788
На форуме: 1 год, 1 месяц, 24 дня
Карма:




Нужно было переводить строки из разных регистров в разные другие (например С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"

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

Это сообщение отредактировал Kolyunya - 4.04.2016 - 01:18
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса