Копипастер ™
№1 Комплексный пример почти на все операции

Имеем такой исходник:

Задача перестроить список в таблицу и загрузить изображения на свой сервер. Результат нам нужен в таком виде:

Макрос для данной задачи будет таким:

Рассмотрим обработку пошагово

Т.к. результат проще сделать с нуля, чем переделывать исходник, вытаскиваем из исходника все необходимые данные.

Нам нужно вытащить:

  • Картинку
  • Характеристику
  • Значение характеристики

С картинкой проблем нет, т.к. это один единый тег «img». С характеристикой тоже просто — она в теге «strong», который больше нигде не встречается. А вот со значением чуть сложнее, т.к. в теге «li» помещено не только оно. Поэтому, чтобы достать значение, нужно вначале удалить лишнее, чтоб в теге «li» осталось только оно. Перед удалением, естественно, нам нужно все необходимые данные успеть скопировать.

Итак, копируем имена характеристик в массив:

Мы их не вырезаем, т.к. не имеет смысла — открывающий и закрывающий теги «strong» все-равно останутся.

Промежуточный результат, после выполнения операции:

  • Результат: исходник без изменений
  • Записанные переменные: strong

Вторым шагом вырезаем тег «img»:

Здесь уже операция «Вырезать» уместна, т.к. тег нам нужен полностью.

Промежуточный результат, после выполнения операции:

  • Результат:
  • Записанные переменные: strong, img

На третьем шаге удаляем «strong»:

Промежуточный результат, после выполнения операции:

  • Результат:
  • Записанные переменные: strong, img

Теперь в теге «li» осталось только значение характеристики — копируем:

Промежуточный результат, после выполнения операции:

  • Результат: без изменений относительно результата предыдущей операции
  • Записанные переменные: strong, img, li

Итак, мы скопировали все нужные данные. Теперь из них нужно выстроить таблицу.

Воспользуемся операцией «Цикл»:

Работаем в режиме «Перебор значений переменной», т.к. нам нужно обработать все строки бывшего списка «ul». В поле «Имя переменной», в данном случае, можно поставить указать любое из трех сохраненных, т.к. количество элементов у них заведомо одинаково.

Однотипными циклическими данными, в нашем случае, является строка таблицы:

Перед ними и после нужно вставить открывающие и закрывающие теги «table».

Переменными указываем в какую ячейку, какие данные вставлять.

Результат сохраняем в переменную, назовем ее «table».

Промежуточный результат, после выполнения операции:

  • Результат: без изменений относительно результата предыдущей операции
  • Записанные переменные: strong, img, li, table

Далее, избавляемся от остатков исходника, т.к. больше он нам не нужен. Удалять полностью очень удобно операцией «Удалить» в режиме «Строки». Ставим диапазон от единицы, до числа заведомо большего, чем кол-во строк:

Промежуточный результат, после выполнения операции:

  • Результат: все удалено.
  • Записанные переменные: strong, img, li, table

Теперь в чистый промежуточный результат, нам нужно вставить результат работы цикла из переменной «table». Один из вариантов выглядит так:

Промежуточный результат, после выполнения операции:

  • Результат:
  • Записанные переменные: strong, img, li, table

Остается только загрузить картинки и актуализировать ссылки в коде (проставить пути до картинок на нашем хостинге):

Итоговый результат:

Все готово!

Макрос этого примера вы сможете найти в списке сохраненных макросов под именем «Пример 1».