Поиск и замена

Тема в разделе "Решение различных задач по парсингу", создана пользователем Aleksandr1, 24 фев 2012.

  1. Aleksandr1

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

    Регистрация:
    24 фев 2012
    Сообщения:
    14
    Во время парсинга необходимо найти какое-нибудь слово, например, тест и заменить его на <i>тест</i> . Это делается с использованием функций поиска и замены: тест|<i>тест</i> . Это приведет к тому, что все слова тест в этом тексте будут заменены на <i>тест</i> .
    Как сделать, чтобы произвести замену только первого (второго, либо первого и второго), встречающегося, в этом тексте слова тест?
    Покажите, пожалуйста на примере.
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    В шаблоне вывода попробуйте указать:
    PHP:
    [REPLACE(
    тест<!--more-->|<li>тест</li>
    тест2<!--more-->|<li>тест2</li>
    тест3<!--more-->|<li>тест3</li>
    )]<
    IMORE len="250" end="тест|тест2|тест3" //><CD_GRAN_1!></IMORE>[/REPLACE]
    Описание макросов - Ссылки недоступны для гостей
     
  3. Aleksandr1

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

    Регистрация:
    24 фев 2012
    Сообщения:
    14
    Спасибо за ответ.
    Конструкция :

    [REPLACE(
    тест<!--more-->|<li>тест</li>
    тест2<!--more-->|<li>тест2</li>
    тест3<!--more-->|<li>тест3</li>
    )]<IMORE len="250" end="тест|тест2|тест3" //><CD_GRAN_1!></IMORE>[/REPLACE]

    Работает только для одного слова. А, мне нужно решить задачу, чтобы при парсинге несколько первых (а не всех, встречающихся в тексте) ключевых слов в начале страницы, выделить тегами, или заменить ссылкой.
    Думаю, эту задачу можно решить с помощью регулярных выражений или PHP скрипта, в чем я плохо разбираюсь.
    А, может есть другие варианты?
     
    Последнее редактирование: 7 мар 2012
  4. Valiks

    Valiks New Member Супер Модератор

    Регистрация:
    18 янв 2012
    Сообщения:
    554
    Адрес:
    Всё время в скэйпе
    Если тебе нужны ввести это слово, используй в нужном месте подгрузку файла с ключевыми словами. Если же слова на странице донора, и они обрамлены тэгами, то можно использовать средства "поиска-замены". говорить на пальцах сложно, покажи ссылки откуда и что хочешь взять, что на что заменить или выделить.

    Но, если честно, то это совершенно ненужная работа (личное мнение). Средствами обработки проекта в CD это делается гораздо проще, легче, быстрее и красивее
     
    Последнее редактирование: 8 мар 2012
  5. Aleksandr1

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

    Регистрация:
    24 фев 2012
    Сообщения:
    14
    Попробую объяснить детально.
    Для поисковой оптимизации сайта, сателита, дорвея необходимо присутствие ключевых слов в тексте. В CD это опция "фильтрация документов по списку ключевых слов". Кроме того, желательно, ключевые слова выделить (заменить ссылкой для сателита) но не все, встречающиеся, кл. слова, а несколько и лучше всего в начале текста, иначе это воспримется как поисковый спам. Не самое красивое решение этой задачи http://forum.sbfactory.ru/showthread.php?p=1805#post1805 . Хотелось бы , чтобы во время парсинга CD выделил кл. слова, если они есть в тексте, но только первые и по одному. И, конечно средствами CD.
     
  6. Valiks

    Valiks New Member Супер Модератор

    Регистрация:
    18 янв 2012
    Сообщения:
    554
    Адрес:
    Всё время в скэйпе
    Подождём ответ автора программы. Но, что-то мне подсказывает интуиция, что пельмени печь CD не будет. Другое у него предназначение.

    Такие требования как у тебя надо решать через регулярки. Но это уже не парсинг, а так сказать "пост обработка".
     

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