ЗаменаВ бизнес-процессах и роботах нередко возникает потребность в автоматической замене части текста. Это может быть форматирование номера телефона, e-mail или адреса; удаление лишних пробелов или ненужных знаков (например, html-тегов); подстановка значений в шаблоны и ещё множество других задач. Всё это можно сделать с помощью этого Действия, реализующего PHP-функции str_replace (замена по строке) и preg_replace (замена по регулярному выражению). С их помощью можно:
- форматировать номера телефонов;
- удалять лишний текст в автоматически сгенерированных заголовках Лидов, Сделок и Задач ("Re:", "Заявка с сайта" и пр.);
- удалять мусор из текста (html-теги, переносы, разрывы строк и пр.);
- форматировать даты (в том числе совершать над ними преобразования, не предусмотренные стандартными функциями);
- подсчитывать количество вхождений подстроки в тексте
и многое другое.
Параметры функций совпадают с их одноимёнными аналогами из PHP. Если не указать строку для замены, то найденное значение будет удалено.
Посмотреть более подробное описание и особенности работы можно в документации:
str_replace и
preg_replace. Обе функции в случае успеха возвращают изменённую строку и количество произведённых замен. В случае ошибки в лог бизнес-процесса записывается её код (если он есть).
ПоискФункция
preg_match позволяет найти в тексте строку, точное значение которой неизвестно (какой-то e-mail, какой-то номер телефона, записанный в произвольном формате, веб-ссылку, фамилию с инициалами и пр.). Функция возвращает найденную строку.
ВАЖНО! Функция имеет ряд отличий от аналога PHP. В частности, не используются параметры $flags и $offset, а в результатах возвращается только найденная строка целиком (параметр $matches[0]).ВАЖНО! В функциях preg_replace и preg_match применён модификатор, инвертирующий жадность квантификаторов. Примеры использования.1. Форматирование номера телефонаФункция - preg_replace
Обрабатываемая строка - номер телефона в произвольном формате (+79661234567, 8-966-123-45-67, 89661234567 и т.п.)
Выражение для поиска - /(8|\+7)-*([0-9]{3})-*([0-9]{3})-*([0-9]{2})-*([0-9]{2})/
Выражение для замены - +7 ($2) $3-$4-$5
Результат - +7 (966) 123-45-67
2. Удаление html-тегов из текстаФункция - preg_replace
Выражение для поиска - /<.+>/
Выражение для замены -
[поле остаётся пустым]3. Поиск адресов e-mail в текстеФункция - preg_match
Выражение для поиска - /[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+.+.[A-Za-z]{2,4}/
Выражение для замены -
[поле остаётся пустым]
Версия 1
Активити и робот, аналогичные по действию PHP-функциям str_replace (замена по строке), preg_replace (замена по регулярному выражению) и preg_match (поиск по регулярному выражению).
Отзывы, замечания и пожелания принимаются на
mail@kibra24.ru
При установке приложения создаётся Робот (на всех тарифных планах) и Действие в разделе "Действия приложений" дизайнера бизнес-процессов (только на тарифных планах с поддержкой бизнес-процессов).
Приложение не привязано ни к каким сущностям и может использоваться в любых роботах и БП (в CRM, на списках, в Задачах, в Живой ленте).