О мощном CHECKENTRY замолвите слово

Тема в разделе "Решение различных задач по парсингу", создана пользователем dimochkaorg, 1 фев 2023.

  1. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    181
    Уважаемые Знатоки, Знатуньюи и Знатчата )))))

    Сделал вот такое условие

    [CHECKENTRY(Вареники[WORD])[GRAN2][THENTEXT]Замороженные продукты>Пельмени>Вареники[ELSETEXT][PARAM(2)][/CHECKENTRY]

    Если значение GRAN2 будет равно Вареники с вишней, должно выводится Замороженные продукты>Пельмени>Вареники, т.к. нужное слово содержится, а если нет, 2-е значение PARAM, но почему-то такая связка не работает ((((
     
  2. Root

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

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

    Вы удалили символ ].

    Должно быть так.

    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
     
    dimochkaorg нравится это.
  3. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    181
    Скажите, а можно ли сделать тройное или даже больше условие... Что если это есть, то вот это, если это есть, то вот это. Ну т.е. несколько значений и каждое по своему вхождению. Как множество значений в [PARAM] )))) Т.е. каждому вхождению соотвествует свой thnetext или elsetext
     
  4. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Вложите в [ELSETEXT] еще один макрос [CHECKENTRY], во вложенный вложите еще один (и так далее).

    Либо вложите множество макросов [CHECKENTRY] в макрос [IFNIL2].
     
    dimochkaorg нравится это.
  5. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    181
    ОГРОМНЕЙШЕЕ СПАСИБО! Так даже проще, видно сразу конструкцию.
     
    Последнее редактирование: 2 фев 2023
    Root нравится это.
  6. sinoda

    sinoda New Member Пользователи

    Регистрация:
    10 фев 2012
    Сообщения:
    55
    Город:
    Москва
    Здравствуйте, подскажите пожалуйста правильность написания вложенности макросов[CHECKENTRY].
    Наполнение файла стоп словами из границ парсинга, если стоп слово есть в файле, то парсим следующую границу с следующим стоп-словом и сохраняем с дозаписыванием в тот-же файл из которого проверяем стоп слова.

    Верно ли формирую синтаксис ? :

    [CHECKENTRY([FILE(C:\стоп-слова.txt|1|1000000)])]<CD_GRAN_1!>[THENTEXT][CHECKENTRY([FILE(C:\стоп-слова.txt|1|1000000)])]<CD_GRAN_2!>[ELSETEXT][SAVETOFILE:стоп-слова.txt{add}{notcsv}]<CD_GRAN_2!>[/SAVETOFILE][/CHECKENTRY][ELSETEXT][SAVETOFILE:стоп-слова.txt{add}{notcsv}]<CD_GRAN_1!>[/SAVETOFILE][/CHECKENTRY]

    в обычной версии CD и в персональной, где при каждом вызове макроса [FILE] файл будет снова загружаться - есть повторы стоп слов, хотя при наличии повторов должна парситься другая граница...
     

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