Допустим, в одной части WEB-страницы есть блок кода с файлами картинок цветов товара:
... <li class="images" id="111"><img src="..."></li> <li class="images" id="222"><img src="..."></li> <li class="images" id="333"><img src="..."></li> ... |
А в другой части есть блок кода с названиями цветов товара:
... <li class="titles" id="111">Red</li> <li class="titles" id="222">Green</li> <li class="titles" id="333">Blue</li> ... |
И есть задача спарсить названия цветов и файлы картинок (с сопоставлением нужного цвета с нужным файлом картинки).
Для такой задачи разработаны специальные операторы функции поиск-замены:
[CREATEARRAY][ELEMENTGRAN]начало(*)конец[/ELEMENTGRAN][KEYGRAN]начало(*)конец[/KEYGRAN] - [CREATEARRAY] создает в памяти массив данных (массив 1, с названиями цветов) со значениями и ключами (по ключам будет идти сопоставление данных со вторым массивом (при работе [PASTEARRAYMATCHINGKEYS]); [PASTEARRAYMATCHINGKEYS][ELEMENTGRAN]начало(*)конец[/ELEMENTGRAN][KEYGRAN]начало(*)конец[/KEYGRAN][TEMPLATE]{TEXTTOPASTE} {ELEMENT}[/TEMPLATE] - [PASTEARRAYMATCHINGKEYS] подставляет элементы из созданного ранее массива (массив 1) к соответствующим элементам массива 2 (с файлами картинок, границы данных которого обозначены в операторе [PASTEARRAYMATCHINGKEYS]) |
В качестве параметров “начало” и “конец” для каждого оператора могут быть любые участки кода, которые содержат внутри себя нужные данные.
Следует понимать, что:
– Параметры “начало” и “конец” являются регистро-чувствительными;
– В параметрах “начало” и “конец” нужно экранировать переносы строк с помощью {br} и символы вертикальной черты (|) с помощью {sep}.
В [ELEMENTGRAN] мы вставляем границы всего элемента массива (вычисляются из кода WEB-документа), например, <li class="titles(*)</li> (начало и конец разделяются с помощью (*)).
В [KEYGRAN] мы вставляем границы ключа, которые вычисляются не из всего кода WEB-документа, а внутри заданного в [ELEMENTGRAN] элемента массива. Например, class="titles" id="(*)".
В [TEMPLATE] прописывается шаблон вставки, где {TEXTTOPASTE} вставит текст нужного элемента массива 1 (массива с названиями цветов), а {ELEMENT} служит для обозначения текста массива 2 (с файлами картинок). В [TEMPLATE] к операторам можно добавить любой текст/код с экранированными символами переносов строк и вертикальных черт.
При работе [PASTEARRAYMATCHINGKEYS] сопоставление элементов массива будет происходить по ключам, заданным в [KEYGRAN] у каждого массива.
[CREATEARRAY][ELEMENTGRAN]<li class="titles(*)</li>[/ELEMENTGRAN][KEYGRAN]class="titles" id="(*)"[/KEYGRAN] [PASTEARRAYMATCHINGKEYS][ELEMENTGRAN]<li class="images"(*)</li>[/ELEMENTGRAN][KEYGRAN]class="images" id="(*)"[/KEYGRAN][TEMPLATE][MARKER]{TEXTTOPASTE}{br}{ELEMENT}[/MARKER]{br}[/TEMPLATE] |
Эти правила поиск-замены нужно прописать в окно поиск-замены для загружаемого кода (shift+ctr+r). При последующем задании границ и при парсинге вы будете работать уже с измененным кодом и сможете спарсить нужные данные (названия цветов и файлы картинок) уже из одного места через повторяющиеся границы.