Удаление дублей информации при парсинге контента


Есть несколько инструментов для удаления дублей информации при парсинге во вкладке “Контент”

Макрос DELDUP (удаление дублей строк/подстрок в тексте или коде)
Например, есть такой текст:

Красный
Зеленый
Зеленый
Зеленый
Синий
Синий
Синий

И из него нужно удалить дубли строк.

Используйте для этого макрос шаблона вывода [DELDUP]

[DELDUP({br})]Красный
Зеленый
Зеленый
Зеленый
Синий
Синий
Синий[/DELDUP]

В итоге получим

Красный
Зеленый
Синий

Макрос разбивает текст на элементы по заданному разделителю (в данном случае – перенос строки {br}) и удаляет дубли этих элементов.

Стоит отметить, что макрос не чувствителен к регистру.

Рассмотрим еще один пример, допустим, есть строка:

Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий

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

[DELDUP(,)]Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий[/DELDUP]

В итоге получим

Красный, Зеленый, Синий

Примечание: При проверке на дубли символы пробелов и переносов строк в начале и в конце каждого вхождения не учитываются!

В шаблоне вывода может размещаться сколько угодно много макросов [DELDUP] и они будут работать независимо друг от друга (каждый макрос будет удалять дубли только в своих пределах).

Если после удаления дублей нужно будет привести данные к другому формату, например, удалить пробелы после запятых, пользуйтесь макросом [FINAL_REPLACE] (он выполняется после макроса [DELDUP])

[FINAL_REPLACE(, |,)][DELDUP({br})]Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий[/DELDUP][/FINAL_REPLACE]
Макрос DUPIGNORE (проверяет одно вставленное в него вхождение на уникальность, добавлялось оно ранее или нет)
Применяется, например, в случаях, когда нужно отфильтровать дубли товаров по их артикулу. В него вставляется одно вхождение, которое заносится в базу в памяти. При повторной попытке вставить одно и то же вхождение (даже при парсинге разных WEB-документов) макрос выдаст пустоту.

Также к нему можно подключать текстовый файл на диске (в который будут заноситься вхождения), чтобы при последующих процедурах парсинга база вхождений не строилась заново, а загружалась из файла на диске.

Подробнее ознакомиться с работой макроса можно тут

Удаление дублей строк/подстрок с использованием функций поиск-замены
Данный способ работает аналогично макросу [DELDUP]. Просто поместите на отдельную строку правил поиск-замены оператор [DELSTRDUP] и функция поиск-замены удалит дубли строк из текста.

Если у вас исходная информация представлена не в виде строк, а значений, разделенных, например, запятой, то сначала замените запятые на переносы строк, выполните [DELSTRDUP] и затем произведите обратную замену переносов строк на запятые.


1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 1, средний балл: 5.00)
Loading...
Автор: admin, 4 March 2019
Рубрики: Функции обработки
Tags: , ,

Последние статьи

css.php