Удалить первую или последнюю строку

Тема в разделе "Обработка данных при парсинге во вкладке "Контент"", создана пользователем Stan, 28 ноя 2016.

  1. Stan

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

    Регистрация:
    15 июн 2011
    Сообщения:
    404
    В поиск замене часто нужно удалять первую или последнюю строки, приходится составлять всякие скипы и тд. такой функции нет?
     
  2. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    3.897
    Город:
    Riga
    Предоставьте пожалуйста пару примеров и решение предложу в виде регулярных выражений.
    Не припомню функций удаления первой или последней строки, есть например макрос <SHORT ...> укорачивающий текст до указанного числа символов.
     
    Последнее редактирование: 28 ноя 2016
  3. Root

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

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

    Удалить последнюю строку можно таким правилом поиск-замены:
    Удалить первую строку можно таким правилом поиск-замены:
    С уважением к вам, Сергей.
     
  4. Stan

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

    Регистрация:
    15 июн 2011
    Сообщения:
    404
    не совсем так.

    вообщем на сайте инет магазин есть картинки, галерея в карточке товара допустим, я их беру все в одну границу и поиск заменой привожу к виду картинка1,картинка2, и тд. через запятую в одну ячейку
    это для импорта в опенкарт поле _IMAGES_

    но первая картинка в поле _IMAGES_ является дублем главной картинки товара, которая берется в другое поле IMAGE без S , ее надо удалить
    но бывает так, что картинка всего одна и тогда в поле _IMAGES_ просто одна строка дубль первой...
    т.е. если картинок больше одной в поле _IMAGES_ , то я удаляю как вы писали..
    но если она одна в одной строке, то ее так не удалить {skip}{br}|
    {br}{skip}|
     
  5. Stan

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

    Регистрация:
    15 июн 2011
    Сообщения:
    404
    т.е. надо удалять всегда первую строку, даже если она одна в ячейке
    а в ячейке может быть как одна строка так и больше одной
     
  6. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    3.897
    Город:
    Riga
  7. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    Для первой картинки задайте обычную границу парсинга.

    Остальные картинки (начиная со второй) парсите с помощью повторяющейся границы парсинга (тогда проблема появления дубля отпадет):
    2016-11-28_16-56-14.png

    С уважением к вам, Сергей.
     
    Stan нравится это.
  8. Stan

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

    Регистрация:
    15 июн 2011
    Сообщения:
    404
    а если последнюю надо удалить?

    там последняя картинка дублируется и ее надо удалить

    {br}{skip}| так удаляет только если больше двух фоток - две строки
    но не удаляет если одна строка
     
  9. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    Если вы повторяющейся границей парсите картинки пропуская первую дублей быть не должно!

    Мне кажется, вы придумываете проблему не попробовав толком решение.
     
    Последнее редактирование: 7 дек 2016
  10. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    Вот правила поиск-замены по вашему запросу:
    2016-12-07_06-24-05.png
     
    kagorec нравится это.
  11. Stan

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

    Регистрация:
    15 июн 2011
    Сообщения:
    404
    я может хреново объяснил, я паршу картинки для импорта в opencart, там одно поле для главной картинки и второе для дополнительных картинок
    я беру дополнительные картинки в одну границу весь код галереи и поиск заменой выдергиваю урлы картинок и делаю их через запятую

    картинка1,картинка2

    кол-во картинок дополнительных, варьируется от 1 до 6 .

    в дополнительных картинках всегда есть повтор главной, в основном она первая, тогда здесь просто берем повторяющуюся границу под номером 1 и пропускаем нулевую

    но тут случай, когда главная картинка - последняя, тут можно удалить последнюю, но, если картинка вообще одна, то парсер берет эту картинку в одну строку и она является дубле главной, т.е. вообще одна строка, вот ее надо как то удалить... может быть 2 строки, тогда удалится последняя и норм, но если одна, ее не удалишь же
     
  12. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    Простите, вы видите мое предыдущее сообщение? Там конкретно указано, как удалять последнюю строку (даже если она единственная).
     
    Последнее редактирование: 7 дек 2016
    Stan нравится это.
  13. mavar

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

    Регистрация:
    7 янв 2014
    Сообщения:
    30
    Город:
    Москва
    Помогите, пожалуйста, не выходит у меня.
    Мне нужно получить дату первого и последнего комментария.

    Вот примеры страниц:
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!

    Как это сделать?
     
  14. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    2019-09-08_10-42-19.png
     

    Вложения:

  15. mavar

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

    Регистрация:
    7 янв 2014
    Сообщения:
    30
    Город:
    Москва
    Либо у меня не работает, либо не знаю...

    Например у ссылки: Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Первый комментарий = 9 июля 2018,
    Последний комментарий = Сегодня, 12:11​

    Ваш скрипт собирает не верные даты:
    • 2019-09-08T12:11:23.8842957
    • 2019-08-16T19:39:37.6089920

    У ссылки: Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Первый комментарий = 16 ноября 2018, 1:48​
    Последний комментарий = Сегодня, 10:08

    Ваш скрипт собирает не верные даты:
    • 2019-09-08T10:08:33.3315066+03:00
    • 2019-08-26T21:11:53.2890240+03:00

    P.S. комменты можно отсортировать по дате.
     
  16. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    12.562
    Эти даты корректны для первой страницы с отзывами.
    Я вам показал, как извлекать из кода первую и последнюю даты.
    В вашем случае нужно автоматически прокликать до последней страницы отзывов с помощью
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    И спарсить даты указанным выше способом.
     

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