Правила поиск замены

Поиск/Замена это один из важных инструментов данного модуля, очень сложно переоценить возможности которые дает этот функционал. И еше сложнее описать все возможные варианты использования.
По сути поиск замена это страница на которой вы настраиваете изменение данных при парсинге. То есть это то место где после парсинга, вы можете что то изменить перед тем как данные пойдут на загрузку в магазин или прайс лист.

Правила поиск замены.

Это основное место для указания правил по замене данных.

  1. Каждое правило записывается с новой строки.
  2. Если вы хотите заменить что то то вы указываете что заменить затем Прямой слеш и на что заменить. К примеру давайте заменим Дима на Богдан правило будет выглядеть так.
    Дима|Богдан

На скриншоте выше видно как я меняю строки на пустоту. НА НИЧЕГО. То есть просто удаляю.
cache/|
-800x800-w-30-0-0|

Внимание!!! Кто сильно чувствительный к страшным словам как программирование, код, консоль, и подобные. Пункт 3 можете пропускать, что бы не показалось вам что все очень сложно и не понятно. В пункте 3 описана функция которая поможет в 0.01% случаем. Специально от чувствительных прячу этот пункт под спойлер.

  1. Если вам нужно будет заменить символ | на что то к примеру на !
    Вы можете воспользоваться регулярным выражением {reg[#[\|]#]}|! Про регулярные выражения можете узнать чуть ниже в этой статье.

Основные операторы в поиск замене.

{.} - Один любой символ.
{skip} - любой текст, любое количество. При помощи него можно вырезать все html теги правило будет выглядеть так <{skip}>|
{br} - перенос строки. при помощи этого оператора можно добавить перенос строки или же вырезать их.
{csvnc} - переход на новую колонку в csv файле.
{csvnl} - переход на новую строчку в csv файле.

Второстепенные операторы.

Эти операторы назвал второстепенными так как редко используются и нужно четко понимать что они делают.

{upper} - Перевести текст в верхний регистр. Применяется исключительно с правой стороны правила.
Пример
rassol2|{upper} - Такое правило заменит rassol2 на RASSOL2. То есть при его помощи вы можете менять регистр любых символов в тексте.
это так же работает с регулярными выражениями.

{lower} - Приводит текст к нижнему регистру. Работает по аналогии с {upper}, только в обратном порядке.

{.*} - Любой символ любое количество раз. По сути тоже самое что и {skip} только работает жадный режим.
Жадный режим это когда выделение текста будет происходить не до первого совпадения, а до последнего.
Пример
В этом примере хочу наглядно показать разницу между {skip} и {.*}

Тест для теста - Привет, какие у тебя планы на вечер ?

Правило с {skip}
П{skip}а|
Результат
кие у тебя планы на вечер ?

Правило с {.*}
П{.*}а|
Результат
вечер ?

Как видно {.*} вырезало весь текст до последнего совпадения в тексте, а {skip} только до первого.
Если {.*} не найдет совпадение до которого нужно вырезать, оно вырежет весь текст до конца, в свою очередь {skip} не вырежет ничего. По этому если вам нужно вырезать весь текст после определенного символа нужно использовать {.*}

Регулярные выражения.

Модуль полностью поддерживает поиск по регулярным выражениям

Синтаксис правил с регулярными выражениями
Для того что бы записать правило с использованием регулярных выражений вам нужно в левой стороне указать {reg[# Здесь правило поиска реглярок #]}|На что заменить

С левой стороны правила поиск замена может быть только регулярка. С правой как обычно. Допустим мы хотим найти в тексте все цифры и заменить их на цифру 0

Правило будет выглядеть так

{reg[#[0-9]#]}|0

В форме вода нужно самому указывать разделитель в регулярных выражениях (максимум возможностей)

Часто используемыми разделителями являются косые черты (/), знаки решетки (#) и тильды (~). Ниже представлены примеры шаблонов с корректными разделителями.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

Но я крайне рекомендую в роли разделителя использовать #
Я так делал и тестировал все на решетке # :) 

Подытожим формат указания регулярки {reg[#Правило здесь#]}

Регулярные выражения не для всех, а только для самых искушенных. Это универсально гибко. Но и сложно. Ссылка на документацию по регулярным выражениям
https://www.php.net/manual/ru/reference.pcre.pattern.syntax.php

Так же здесь оставлю фото мини руководства

Скачать краткое руководство по регуляркам можете по этой ссылке - https://simplepars.top/doc/reg.pdf
Более полное руководство - https://regex.sorokin.engineer/ru/latest/regular_expressions.html
Потренироваться в регулярных выражениях можно на этом ресурсе - https://regex101.com/