Отправка данных в БД из повторяющихся границ

Тема в разделе "Решение различных задач по парсингу", создана пользователем filisonov, 19 янв 2022.

  1. filisonov

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

    Регистрация:
    16 сен 2018
    Сообщения:
    7
    Есть повторяющаяся граница [gran1], в ней заданы обычные границы [gran2,3,4.......]
    Граница [gran2] дополнительно обернута в <SHORT len="250" end=".|!|?" //>[gran2]</SHORT>, а граница [gran3] обернута в <SHORT len="60" //>[TOTRANSLITE:clear,regdown,convertspaces,clearspaces][GRAN3][/TOTRANSLITE]</SHORT>[/HTMTOTXT]-[INT_ID].
    Вопрос: как передать уже обработанные данные в PHP_SCRIPT_0 в уже обработанном виде, в БД?
     
  2. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Почему именно PHP_SCRIPT_0 ?

    Почему не PHP_SCRIPT_6, например? Он имеет более поздний порядок выполнения.
     
    filisonov нравится это.
  3. filisonov

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

    Регистрация:
    16 сен 2018
    Сообщения:
    7
    Ну я это для примера указал, отлично проверил с PHP_SCRIPT_6, теперь всё работает как нужно.
     
    Root нравится это.
  4. filisonov

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

    Регистрация:
    16 сен 2018
    Сообщения:
    7
    Ещё вопрос, почему в БД добавляется везде макрос [DATAENCODE]тут текст[/DATAENCODE]

    Вот сам скрипт:
    <PHP_SCRIPT_6=Ссылки недоступны для гостей
    question=[DATAENCODE][GRAN1][/DATAENCODE]
    answer=[DATAENCODE][GRAN2][/DATAENCODE]
    numberquestion=[DATAENCODE][GRAN3][/DATAENCODE]
    title=[DATAENCODE][HTMTOTXT:]<SHORT len="250" end=".|!|?" //>[GRAN1]</SHORT>[/HTMTOTXT][/DATAENCODE]
    url=[DATAENCODE][HTMTOTXT:]<SHORT len="60" //>[TOTRANSLITE:clear,regdown,convertspaces,clearspaces][GRAN1][/TOTRANSLITE]</SHORT>[/HTMTOTXT]-[INT_ID][/DATAENCODE]
    descr=[DATAENCODE][HTMTOTXT:]<SHORT len="300" end=".|!|?" //>[GRAN2]</SHORT>[/HTMTOTXT][/DATAENCODE]
    title2=[DATAENCODE][HTMTOTXT:]<SHORT len="100" end=".|!|?" //>[GRAN1]</SHORT>[/HTMTOTXT][/DATAENCODE]
    </PHP_SCRIPT_6>
     
  5. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    В новых версиях вместо [DATAENCODE] используется [FIELDVALUE]

    Ссылки недоступны для гостей
     
    filisonov нравится это.
  6. Al195

    Al195 Member Пользователи

    Регистрация:
    19 окт 2021
    Сообщения:
    43
    Здравствуйте!
    подскажите пожалуйста чем можно проверить данные после выполнения PHP_SCRIPT_6
    [IF2], [MUSTBEINLINE], [MUSTBEINMACRO]
    эти макросы срабатывают раньше, хочу удалить строку если ответ сервера пустой
     
  7. Al195

    Al195 Member Пользователи

    Регистрация:
    19 окт 2021
    Сообщения:
    43
    никто не знает ?
    если PHP_SCRIPT_6 вернет пустое значение в ячейку
    после него чем-то можно удалить строку из парсинга ?
     
  8. kadishev1997

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

    Регистрация:
    27 мар 2019
    Сообщения:
    310
    Используйте более ранние варианты PHP_SCRIPT_2/3/4/5 .
    PHP_SCRIPT_6 используется в самую последнюю очередь, после него макросы не срабатывают.

    А вообще, смотрите лог порядка выполнения макросов при предпросмотре
     
  9. kadishev1997

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

    Регистрация:
    27 мар 2019
    Сообщения:
    310
    PHP_SCRIPT_6 хорош в том случае, когда вы сделали все изменения по парсингу, и только в самый последний момент загружаете все корректные значения в БД.

    Поэтому, поставьте любое другое значение PHP_SCRIPT и будет вам счастье
     
    Al195 нравится это.
  10. Al195

    Al195 Member Пользователи

    Регистрация:
    19 окт 2021
    Сообщения:
    43
    так и сделал, все проверил
    надеялся что есть какой нибудь
    [MUSTBEINLINE_самый последний]
     

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