Обязательное вхождение цифр в границу парсинга

Тема в разделе "Функции и интерфейс программы", создана пользователем mur, 21 янв 2015.

  1. mur

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

    Регистрация:
    5 июн 2014
    Сообщения:
    44
    Всем привет!

    Выполняю парсинг адресов, типа: Ленина 12

    Встречаются адреса без указания номера дома: Ленина

    Задача отфильтровать и не добавлять данные значения без номера дома в CSV

    ===
    Попробывал
    [CHECKENTRY(1||2||3||4||5||6||7||8||9)]<CD_GRAN_2!>[/CHECKENTRY]
    но
    записываются другие границы парсинга в соседние ячейки

    Спасибо за отклик!
     
  2. Root

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

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

     
  3. mur

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

    Регистрация:
    5 июн 2014
    Сообщения:
    44
    Спасибо за ответ!


    А как быть в случае парсинга не в CSV, а в MySQL.

    adres=[CHECKENTRY(1||2||3||4||5||6||7||8||9)]<CD_GRAN_2!>[/CHECKENTRY]

    Как для экспорта в MySQL задать на весь шаблон чекэнтри?
     
  4. Root

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

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

    Считаю ваш вопрос далеко не однозначным. Следовательно, не могу подобрать вам ответ.

    Можете попробовать конкретизировать ваш вопрос.

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

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

    Регистрация:
    5 июн 2014
    Сообщения:
    44
    Я экспортирую в MySQL объявления по недвижимости, например, 3 элемента:

    1) телефон
    2) адрес
    3) цена

    Мне необходимо отсеять объявления без номера дома

    1) если
    phone=<CD_GRAN_1!>
    adres=[CHECKENTRY(1||2||3||4||5||6||7||8||9)]<CD_GRAN_2!>[/CHECKENTRY]
    price=<CD_GRAN_3!>
    ,то получим таблицу

    phone | adres | price
    -------------------------
    12312 | пусто | 1000

    Данный вариант нас не устраивает, т.к. нам нужно полностью отфильтровать всю строку (чтобы ничего не добавилось в БД)

    2) Следовательно нужно добавить чекэнтри к каждому элементу
    phone=[CHECKENTRY(1||2||3||4||5||6||7||8||9)]<CD_GRAN_2!>[THENTEXT] <CD_GRAN_1!>[/CHECKENTRY]
    adres=[CHECKENTRY(1||2||3||4||5||6||7||8||9)]<CD_GRAN_2!>[/CHECKENTRY]
    price=[CHECKENTRY(1||2||3||4||5||6||7||8||9)]<CD_GRAN_2!>[THENTEXT] <CD_GRAN_3!>[/CHECKENTRY]


    Но тут возникает вопрос.

    3) Может ли чекэнтри содержать в себе еще один чекэнтри

    Например:

    new=[CHECKENTRY(1||2||3||4||5||6||7||8||9)]<CD_GRAN_2!>[THENTEXT][CHECKENTRY(новострой)]<CD_GRAN_6!>[THENTEXT][URLENCODE]В новом доме[/URLENCODE][/CHECKENTRY][/CHECKENTRY]

    4) Если элементов 15-20 и к каждому добавить чекэнтри - как сильно это повлияет на скорость экспорта в БД
     
  6. Root

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

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

    Если внимательно изучить работу макроса [CHECKENTRY] вот тут Ссылки недоступны для гостей то можно построить следующую конструкцию:
    То есть, макрос [CHECKENTRY] проверит наличие цифры в <CD_GRAN_2!> и если она там есть выведет все, что находится после [THENTEXT] (весь ваш скрипт).

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

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