Битрикс24 Маркет Плюс

Для владельцев коммерческих тарифов уже доступны от 2 до 10 приложений в рамках интеграционного пакета. Подробно изучить возможности полного каталога готовых решений Битрикс24 Маркет Плюс вы можете в бесплатном 15-дневном демо-режиме.

Поиск с заменой
Кононов Р.А.
По подписке
Установить
Скриншоты
Замена
В бизнес-процессах и роботах нередко возникает потребность в   автоматической замене части текста. Это может быть форматирование номера   телефона, 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, на списках, в Задачах, в Живой ленте).