Фильтрация циклов повторяющихся границ

В шаблоне любой повторяющейся границы парсинга можно использовать макрос фильтрации циклов повторяющихся границ

Content Downloader

С помощью фильтров можно отсеивать лишние циклы на уровне их создания. Для этого достаточно вставить в шаблон нужной повторяющейся границы макрос {CFILTER} и указать нужные параметры фильтрации.

В макросе {CFILTER} можно использовать:

– Оператор [VALUE]

– Операторы [PARAM]

– Макросы обычных границ парсинга, например, <CD_GRAN_1!>

– Макросы обычных границ парсинга, заданных внутри повторяющейся, например, [GRAN1]

– Макрос шаблона вывода [REPLACE]



Содержимое макроса {CFILTER} будет удаляться. Если вам нужно использовать, например, оператор [VALUE] в макросе {CFILTER} и одновременно его выводить в результат, то просто продублируйте его в нужные места

1
{CFILTER}...[VALUE]...{/CFILTER}[VALUE]

Функции фильтрации не чувствительны к регистру.

Если фильтров недостаточно, создайте запрос на добавление фильтров в этой теме на форуме.




Фильтрация циклов по наличию вхождения

1
2
3
4
5
6
7
{CFILTER}текст{ENTRY}вхождение{/CFILTER} (проверяется, содержит ли текст вхождение)
 
{CFILTER}[VALUE]{ENTRY}Millenium Falcon{/CFILTER} - отфильтрует циклы, контент которых НЕ СОДЕРЖИТ в себе вхождения "Millenium Falcon"
 
{CFILTER}[GRAN3]{ENTRY}Millenium Falcon{/CFILTER} - отфильтрует циклы, в которых заданная внутри граница парсинга 3 НЕ СОДЕРЖИТ в себе вхождения "Millenium Falcon"
 
{CFILTER}{NOT}[VALUE]{ENTRY}Millenium Falcon{/CFILTER} - отфильтрует циклы, контент которых СОДЕРЖИТ в себе вхождения "Millenium Falcon" (так как установлен параметр {NOT})



Фильтрация циклов по списку вхождений

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{CFILTER}текст{ENTRYLIST}список вхождений (построчно){/CFILTER} (проверяется, содержится ли в тексте хотя бы одно вхождение из списка)
 
{CFILTER}[VALUE]{ENTRYLIST}
Millenium Falcon
R2D2
{/CFILTER} - отфильтрует циклы, контент которых НЕ СОДЕРЖИТ в себе ни одного вхождения из списка
 
{CFILTER}[GRAN3]{ENTRYLIST}
Millenium Falcon
R2D2
{/CFILTER} - отфильтрует циклы, в которых заданная внутри граница парсинга 3 НЕ СОДЕРЖИТ в себе ни одного вхождения из списка
 
{CFILTER}{NOT}[VALUE]{ENTRYLIST}
Millenium Falcon
R2D2
{/CFILTER} - отфильтрует циклы, контент которых СОДЕРЖИТ в себе хотя бы одно вхождение из списка (так как установлен параметр {NOT})



Фильтрация циклов по точному соответствию

1
2
3
4
5
6
7
{CFILTER}текст 1{MATCH}текст 2{/CFILTER} (проверяется, равны ли "текст 1" и "текст 2")
 
{CFILTER}[VALUE]{MATCH}Millenium Falcon{/CFILTER} - отфильтрует циклы, контент которых НЕ РАВЕН "Millenium Falcon"
 
{CFILTER}[GRAN3]{MATCH}Millenium Falcon{/CFILTER} - отфильтрует циклы, в которых контент заданной внутри границы парсинга 3 НЕ РАВЕН "Millenium Falcon"
 
{CFILTER}{NOT}[VALUE]{MATCH}Millenium Falcon{/CFILTER} - отфильтрует циклы, контент которых РАВЕН "Millenium Falcon" (так как установлен параметр {NOT})



Фильтрация циклов по списку точных соответствий

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{CFILTER}строка{MATCHLIST}список строк{/CFILTER} (проверяется, равна ли строка хотя бы одной из списка строк)
 
{CFILTER}[VALUE]{MATCHLIST}
Millenium Falcon
R2D2
{/CFILTER} - отфильтрует циклы, контент которых НЕ РАВЕН хотя бы одной из строк списка
 
{CFILTER}[GRAN3]{MATCHLIST}
Millenium Falcon
R2D2
{/CFILTER} - отфильтрует циклы, в которых заданная внутри граница парсинга 3 НЕ РАВНА хотя бы одной из строк списка
 
{CFILTER}{NOT}[VALUE]{MATCHLIST}
Millenium Falcon
R2D2
{/CFILTER} - отфильтрует циклы, контент которых равен хотя бы одной из строк списка (так как установлен параметр {NOT})



Фильтрация циклов с помощью логических выражений

1
2
3
4
5
6
7
8
9
{CFILTER}{MATH}логическое выражение{/CFILTER} (если результат работы логического выражения = true, то цикл повторяющейся границы парсинга пройдет фильтр)
 
{CFILTER}{MATH}3>=1{/CFILTER} - true, так как 3 больше либо равно 1
{CFILTER}{NOT}{MATH}3>=1{/CFILTER} - false, так как 3 больше либо равно 1 и добавлен параметр {NOT}
{CFILTER}{MATH}3<1{/CFILTER} - false, так как 3 НЕ меньше 1
{CFILTER}{MATH}(3+5)>=1{/CFILTER} - true, так как 8 больше либо равно 1
 
{CFILTER}{MATH}[VALUE]>=1{/CFILTER} - тут проверяется число выводимое [VALUE] (больше либо равно 1)
{CFILTER}{MATH}[GRAN1]>=1{/CFILTER} - тут проверяется число выводимое [GRAN1] (больше либо равно 1)



1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 3, средний балл: 4.33)

Loading...
Автор: admin, 29 February 2020
Рубрики: Парсинг
Tags: , ,

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

css.php