Взять из breadcrumbs только 2 и 3 значение

Тема в разделе "Парсинг конкретных сайтов по запросу (ПЛАТНО)", создана пользователем Andre, 19 мар 2017.

  1. Andre

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

    Регистрация:
    12 мар 2017
    Сообщения:
    11
    из этого куска хлебных крошек нужно взять второе и треть значение:

    <br />
    <a href="Ссылки недоступны для гостей">Категории</a>
    <a href="Ссылки недоступны для гостей">Темы Здоровья</a>
    <a href="Ссылки недоступны для гостей">Антивозрастные</a>
    <a href="Ссылки недоступны для гостей">Гиалуроновая кислота</a>
    <a href="Ссылки недоступны для гостей" class="last">Гиалуроновая кислота для кожи</a>
    <br />

    с "Категории" понятно, начинаю парсинг с :

    <br />
    <a href="Ссылки недоступны для гостей">Категории</a>

    а вот как исключить 3+ вложенные категории?


    пробовал через {get} и [REV] но забирает все , а нужны только "Темы Здоровья" и "Антивозрастные"
     
  2. Root

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

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

    Используйте макрос шаблона вывода [BREADCRUMBS] (Ссылки недоступны для гостей).

    Файл проекта приложил.

    С уважением к вам, Сергей.
     

    Вложения:

  3. Andre

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

    Регистрация:
    12 мар 2017
    Сообщения:
    11

    Сергей, спасибо! через макрос BREADCRUMBS тоже пробовал, не устраивает результат. в вашем примере тоже что и в моем на выходе:

    Темы Здоровья/Антивозрастные/Гиалуроновая кислота/Гиалуроновая кислота для кожи

    а нужно :

    Темы Здоровья/Антивозрастные



    как взять только 1 и 2 категорию?
     
  4. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Смотрите проект
     

    Вложения:

  5. Andre

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

    Регистрация:
    12 мар 2017
    Сообщения:
    11
    значит без таких выражений не обойтись)
    Код:
    re:[\s\t]+|
    > |>
     <|<
    </a>|###
    <{skip}>|
    re:^(.*?)###(.*?)###(.*?)$|$1/$2
    благодарю! ушел учить регулярку
     
    Последнее редактирование модератором: 19 мар 2017
  6. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    можно и без регулярок, но тогда это не универсальная функция (и я например понятия не имею как это заменить простыми выражениями)
    А вот если бы в BREADCRUMBS был макрос MAX который бы обрезал, то можно было обойтись и без этого
    Можно конечно еще кучу способов напридумывать, но выше самый универсальный
     
    Mind нравится это.
  7. Andre

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

    Регистрация:
    12 мар 2017
    Сообщения:
    11
    поддерживаю двумя руками!!
     
  8. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Какие проблемы

    2017-03-19_14-38-56.png
     

    Вложения:

  9. Andre

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

    Регистрация:
    12 мар 2017
    Сообщения:
    11
    действительно) в прошлый раз, насколько помню, выбирая номер вхождения я получал результат, что он начинал забирать данные с указанного вхождения и до последнего.
    а теперь и так, оказывается, можно. в любом случае спасибо за информацию!

    этот парсер как катана, только угол нужно выбрать верный)
     
    Root нравится это.

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