Вход для клиентов и партнеров
в начало сайта
Партнерская программаОнлайн демоСкачатьКарта сайта
 

Регламент
Документация
Часто задаваемые вопросы (FAQ)
Решения типовых вопросов
Форум поддержки
Библиотека разработчика

Посмотрите демо-ролики и убедитесь в том, что "Twilight CMS" очень удобна в управлении, понятна и проста.

Бесплатно скачайте "Twilight.Basic", установите на своем компьютере и изучите систему более детально.

Если вам нужно установить "Twilight CMS" на существующий сайт или разработать новый - обращайтесь в отдел интеграции.

 

Ваше имя
Ваш Email
Вопрос
Twilight.basic
  • Узнайте больше
  • Сравните версии
  • Twilight.selection
  • Узнайте больше
  • Сравните версии
  • Twilight.evolution
  • Узнайте больше
  • Сравните версии
  •  
    Главная // Библиотека разработчика // Справочники // Макроподстановки //

    Replace


    Назначение

    Заменяет подстроку другой подстрокой глобально (все вхождения) по тексту.

    Ключи

    source Исходный текст. Многострочный текст нужно заключать в кавычки, крайние кавычки игнорируются.
    left Искомая строка.
    right Строка, на которую заменяется искомая строка.
    regex Логическое значение, если yes|true|on|1, то left и right будут интепретироваться как регулярные выражения в контексте Perl, то есть будет выполнена команда s/left_regex/right_regex/gs.

    Работает только в 4.43+.

    regex_modificator Строка, содержит модификатор для регулярного выражения. Если он не задан, по умолчанию он будет равен gs. Нотация Perl.

    Комментарии

    Применяется редко, в основном для операций с javascript.

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

    Режим регулярных выражений

    Если ключ regex включен, то в ключах left и right можно задавать регулярное выражение. Регулярные выражения системой выполняются в нотации языка Perl, в качестве разделителя используется прямой слэш, поэтому там где он употребляется в качестве обычного символа его нужно предварять обратным слэшем, как и специальные символы (см. документацию по s/// языка Perl).

    Например, в Perl мы бы написали так:

    $string =~ s/<\/?(b|br|p|h\d|script|strong)[^>]*>//gsi;

    Квотирующий обратный слэш мы выделили жирным.

    А в макросе Replace то же самое будет выглядеть так:

    $Replace[source: "<P><STRONG>Некий</STRONG> текст</P> "; left: "<\/?(b|br|p|h\d|script|strong)[^>]*>"; right: ""; regex: on; regex_modificator: gsi]$

    Никто, кстати, не запрещает нам использовать в правой части функции Perl при использовании модификатора e.

    Просьба. Поскольку регулярные выражения одна из самых сложнопонимаемых вообще в программировании вещей, если вы не понимаете что это такое - лучше не пробуйте, или мучайтесь сами. Не просите службу поддержки писать регексы для ваших задач и искать ошибки в них, это сложная и дорогая работа. Макрос на 100% протестирован и корректен. Если у вас что-то не работает - значит вы ошиблись в регулярном выражении.

    Примеры

    Пример №1
    $Replace [source: "qweqwe"; left: "qwe"; right: "йцу
    кен"]$

    Результатом работы будет строка
    "йцу
    кенйцу
    кен".

    Пример №2
    $Replace [source: "qweqwe qweqweqwe"; left: "(qwe)+"; right: "qwe"; regex: on]$

    Результатом работы будет строка
    "qwe qwe".

    « к списку макроподстановок

    версия для печати

     
    © 2003-17 Страта Технологии (создание сайтов, разработка cms), Twilight CMS in english.
    Наш адрес: Москва, пр. Маршала Жукова д.51
    Тел.: (495) 222-6436, E-mail: , карта сайта, условия использования информации о CMS
    Звоните через Skype:  

    Реклама: