Не работают регулярные выражения

Тема в разделе "Функции поиск-замены и регулярные выражения", создана пользователем JAGUAR, 5 янв 2024.

  1. JAGUAR

    JAGUAR Member Пользователи

    Регистрация:
    26 авг 2010
    Сообщения:
    28
    Здравствуйте. Подскажите пожалуйста почему не получается включить работу регулярных выражений (в notepad++ работает).

    Создал 2 простых правила для примера, то есть надо чтобы вместо тега {RN} или RN происходила замена на новую строку (не \r\n), но правило не работает в конструкторе или редакторе поиск-замена:

    В конструкторе видно, что он вместо {RN} вставляет n.
    [​IMG]
     

    Вложения:

    Последнее редактирование: 5 янв 2024
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    Новая строка в замене обозначается тегом {br2}
    Фигурные скобки в регулярках обычно экранируют слешем
    Код:
    re: \{RN\}
     
  3. JAGUAR

    JAGUAR Member Пользователи

    Регистрация:
    26 авг 2010
    Сообщения:
    28
    Тег {br} вставляет перенос строки с возвратом каретки, то есть {br} в регулярном выражении это \r\n

    Но в тексте есть оба варианта: есть \r\n = {br}, а есть \n (без возврата каретки) и как вставить второй вариант не могу разобраться.

    Например, если включить отображение конца строки в notepad++ то в первой строке это \n (LF) а во второй \r\n (CRLF)

    Снимок экрана 2024-01-05 195934.png
     
    Последнее редактирование: 5 янв 2024
  4. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    PHP_SCRIPT можно подключить и расширить возможности C.D. (ChatGPT почти всем доступен, любой скрипт написать)
     
    JAGUAR нравится это.
  5. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    На своем сайте или на локалке поместите скрипт localhost/r.php

    Содержимое скрипта r.php
    Код:
    <?php
    // Получаем данные из POST-переменной 'data'
    $data = $_POST['data'];
    
    // Выполняем замену метки
    $result = str_replace('{RN}', "\n", $data); // Можно вместо \n еще проверить с \x0A
    
    // Возвращаем результат
    echo $result;
    ?>
    Содержимое в шаблоне вывода C.D.
    Код:
    <PHP_SCRIPT=http://localhost/r.php[UTF-8]>
    <HEADERS></HEADERS>
    <REPLACE></REPLACE>
    data=[FIELDVALUE][DOCSOURCE][/FIELDVALUE]
    </PHP_SCRIPT>
     
    JAGUAR нравится это.

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