Размножение строк в повторяющихся границах и PHP_SCRIPT

Тема в разделе "Решение различных задач по парсингу", создана пользователем kadishev1997, 3 июл 2020.

  1. kadishev1997

    kadishev1997 Well-Known Member Пользователи

    Регистрация:
    27 мар 2019
    Сообщения:
    310
    Доброго всем дня! Видел подобный случай, который я описываю в своей ситуации на форуме, но у меня в корне немного другого формата вопрос.

    Имеются повторяющиеся границы парсинга внутри повторяющихся.

    Имеется PHP_SCRIPT, который получает многострочные данные, которые я разбиваю как новую строку в поиск-замене через CSVLB .

    Мне нужно, чтобы данные, полученные через макрос [GRAN1-20] дублировались (повторялись) для каждой строки, где присутствуют данные, полученнные с помощью многострочных данных PHP_SCRIPT.

    Покажу наглядно: сейчас имеется вот такой формат
    upload_2020-7-3_21-13-23.png

    Мне нужен вот такой формат

    upload_2020-7-3_21-14-55.png

    Хожу кругами в поисках ответа уже 4й день, не могу понять как правильно реализоватль

    Проект приложил.
     

    Вложения:

  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Вместо макроса PHP_SCRIPT используйте макрос GETMORECONTENT. В нем есть возможность парсить как повторяющимися границами с добавлением нужного текста/кода к каждому циклу.

    2020-07-03_22-38-21.png
     
  3. kadishev1997

    kadishev1997 Well-Known Member Пользователи

    Регистрация:
    27 мар 2019
    Сообщения:
    310
    Немного не то, или не так описал.

    В PHP_SCRIPT подгружаются разные данные для каждой повторяющейся границы, которые занесены в проекте (на изображении ниже PHP_SCRIPT - это кнопки "Еще прдложения" каждого товара, которые подгружают данные о ценах, наличии и сроках поставки).

    То есть, если на одной странице имеется 3 разных Бренда, то PHP_SCRIPT соберет и обработает данные со всех этих товаров.
    upload_2020-7-5_17-40-46.png

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

    upload_2020-7-5_17-47-13.png

    А по факту, данные о предложениях должны присваиваться необходимому товару, как это делает PHP_SCRIPT.
     
  4. kadishev1997

    kadishev1997 Well-Known Member Пользователи

    Регистрация:
    27 мар 2019
    Сообщения:
    310
    Сам спросил, сам ответил.

    В макросе PHP_SCRIPT внутри REPLACE можно добавить макросы повторяющихся границ [GRAN(X)] (Где (X) - номер границы, к которой можно добавлять данные), чтобы для каждой из них добавлялись выходные данные.

    Получается что-то типа этого:
    Код:
    Кусок начального кода PHP|[GRAN1] [CSVCS] [GRAN2] [CSVCS] Кусок начального кода PHP
    Получается вот такая красота
    upload_2020-7-5_22-42-39.png

    Проект того, как это работает - прикрепил.

    Сергей @Root , советую вам добавить мой ответ в систему помощи, т.к. мое решение может многим помочь с решением подобных задач.
    Ну или целый гайд записать :)
     

    Вложения:

    Root нравится это.

Поделиться этой страницей