Макросы поиска-замены

Тема в разделе "Макросы шаблона вывода", создана пользователем Aleksandr1, 7 мар 2012.

  1. Aleksandr1

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

    Регистрация:
    24 фев 2012
    Сообщения:
    14
    Чем отличаются и как применяются макросы:
    FIRST_REPLACE
    BEFORE_IMG_REPLACE
    REPLACE :confused:
     
  2. Valiks

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

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

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

    Регистрация:
    24 фев 2012
    Сообщения:
    14
    Спасибо.Тогда почему не работает:

    [BEFORE_IMG_REPLACE(
    {get}<!--more-->|{get}<!--more-->
    )]<IMORE len="250" //><CD_GRAN_2!></IMORE>[/BEFORE_IMG_REPLACE]
    [REPLACE({skip}<!--more-->|)]<CD_GRAN_2!>[/REPLACE]
     
  4. Valiks

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

    Регистрация:
    18 янв 2012
    Сообщения:
    554
    Адрес:
    Всё время в скэйпе
    Объясни, что ты хочешь сделать, что парсишь, и что хочешь получить?
    {get}<!--more-->|{get}<!--more-->
    Это что за желание такое?
    Если надо удалить <!--more-->, значит его удаляй.
    <!--more-->|
    Если задача другая то, чтобы понять, о чём ты думаешь, либо пиши понятно, либо мысли посылай потолще, чтобы телепатия сработала.
     
  5. Aleksandr1

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

    Регистрация:
    24 фев 2012
    Сообщения:
    14
    Можно и по проще.
    Я хочу страницу в рамках одной границы разбить на две, чтобы потом, только в первой ее части можно было-бы работать с ключевыми словами.
    Конструкция:

    [BEFORE_IMG_REPLACE(
    {get}<!--more-->|{get}<!--more-->
    )]<IMORE len="250" //><CD_GRAN_2!></IMORE>[/BEFORE_IMG_REPLACE]

    позволяет вставить тег <!--more--> в нужном месте и вывести тест от начала до тега <!--more-->
    Эта часть работает.
    Вторая часть должна вывести текст от тега <!--more--> до конца файла, согласно Ссылки недоступны для гостей и Ссылки недоступны для гостей (сначала выполняется макрос BEFORE_IMG_REPLACE, а потом REPLACE), эта часть работает так как обычный парсинг в границах <CD_GRAN_2!> , а должна была бы все вырезать до <!--more-->

    [REPLACE({skip}<!--more-->|)]<CD_GRAN_2!>[/REPLACE]
     
  6. Valiks

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

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

    Код:
    <SHORT len="250" //><CD_GRAN_1!></SHORT>
    [BEFORE_IMG_REPLACE({skip}<!--more-->|<!--more-->)]<IMORE len="250" //><CD_GRAN_1!></IMORE>[/BEFORE_IMG_REPLACE]
    То есть вначале выводятся первые 250 символов, затем выводится всё остальное, без этих 250 символов. Я правильно понял задачу?
     
  7. Aleksandr1

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

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

    [BEFORE_IMG_REPLACE(
    тест1|{<strong>тест1</strong>|<b>тест1</b>|<i>тест1</i>}
    ------
    тест10|{<strong>тест10</strong>|<b>тест10</b>|<i>тест10</i>})]<SHORT len="250" //><CD_GRAN_1!></SHORT>[/BEFORE_IMG_REPLACE]
    [REPLACE({skip}<!--more-->|<!--more-->)]<IMORE len="250" //><CD_GRAN_1!></IMORE>[/REPLACE]


    Прошу прощения за наглость, вот еще-бы решить задачку:
    http://forum.sbfactory.ru/showthread.php?t=243
     
    Последнее редактирование: 8 мар 2012
  8. Valiks

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

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

    Ответил в теме
     

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