Поиск и замена не происходит в макросе [GETMORECYCLECONTENT]

Тема в разделе "Функции поиск-замены и регулярные выражения", создана пользователем TIIIMOXAN, 22 апр 2019.

  1. TIIIMOXAN

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

    Регистрация:
    12 авг 2011
    Сообщения:
    29
    Здравствуйте!

    Помогите, пожалуйста, разобраться. Суть в теме вопроса:

    Получаю данные через макрос [GETMORECYCLECONTENT], где на выходе необходимо сделать поиск и замену текстовых строк , которые содержат вхождение " in " и обрезать все данные, что после и включая само вхождение " in ". Но почему-то не происходит поиска и замены.

    Использую следующую конструкцию:
    [FINAL_REPLACE( in {skip}|[LINEMODE])][GETMORECYCLECONTENT][SOURCE]<CD_GRAN_15!>[/SOURCE][START]<a title="[/START][END]"[/END][SEP], [/SEP][/GETMORECYCLECONTENT][/FINAL_REPLACE]

    Проект прилагается, проблема в предпоследнем столбце "категории".

    Заранее благодарен за помощь!
     

    Вложения:

  2. Djahat

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

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
     
  3. Djahat

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

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
    А befo image replace если попробовать? Срабатывает?
     
  4. TIIIMOXAN

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

    Регистрация:
    12 авг 2011
    Сообщения:
    29
    Неа, не срабатывает.
     
  5. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пользуйтесь логом, как часто рекомендуется.

    Согласно логу все прекрасно работает. Обрезается конечная часть строки до in:
    2019-04-23_02-57-44.png
     
  6. TIIIMOXAN

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

    Регистрация:
    12 авг 2011
    Сообщения:
    29
    Да, я пользуюсь логом и там сейчас видно, что не обрезается так как мне необходимо. Например, сейчас выводится строка "Car Repair &amp; Service in Victoria Village", а мне необходимо, чтобы выводилась строка с содержанием "Car Repair &amp; Service", должно обрезаться " in Victoria".

    Самое интересное в том, что в анализаторе поиска и замены все работает, а вот при выводе строки не обрабатываются согласно правилам:
    upload_2019-4-23_7-6-42.png

    Вывод информации:

    upload_2019-4-23_7-7-53.png
     
  7. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    А вы разницы текстов не видите? Не видите, что в логе текст без переносов строк? Мне кажется, это очевидно.
     
  8. TIIIMOXAN

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

    Регистрация:
    12 авг 2011
    Сообщения:
    29
    Разницу вижу, да. Но только не могу понять каким образом тогда сделать поиск и замену? Выводить построчно строки, в них делать поиск и замену, а потом возвращать в одну строку?

    [FINAL_REPLACE(<br>|, )][ONELINE2:<br>][DELDUP({br})][REPLACE( in {skip}|[LINEMODE])][GETMORECYCLECONTENT][SOURCE][ONELINE2:]<CD_GRAN_15!>[/ONELINE2][/SOURCE][START]<a title="[/START][END]"[/END][SEP]{br}[/SEP][/GETMORECYCLECONTENT][/REPLACE][/DELDUP][/ONELINE2][/FINAL_REPLACE]

    Проще тогда через регулярные выражения сдлеать: re: in ([a-zA-Z $]*)|

    [DELDUP(, )][REPLACE(re: in ([a-zA-Z $]*)|)][GETMORECYCLECONTENT][SOURCE][ONELINE2:]<CD_GRAN_15!>[/ONELINE2][/SOURCE][START]<a title="[/START][END]"[/END][SEP], [/SEP][/GETMORECYCLECONTENT][/REPLACE][/DELDUP]
     
    Последнее редактирование: 23 апр 2019
  9. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    &amp; замените на перенос строки {br}

    Сделайте нужную поиск-замену.

    Потом переносы строки замените обратно на &amp;
     
  10. TIIIMOXAN

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

    Регистрация:
    12 авг 2011
    Сообщения:
    29
    Дело в том, что не у всех строк есть "&amp;"
     
  11. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Какой символ разделяет условные строки, тот и замените на {br}.
     
    TIIIMOXAN нравится это.

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