Как обернуть первую букву в div через регулярное выражение

Тема в разделе "Шаблон вывода", создана пользователем wcw2007, 17 мар 2017.

Статус темы:
Закрыта.
  1. wcw2007

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

    Регистрация:
    15 мар 2017
    Сообщения:
    126
    Подскажите пожалуйста регулярное выражение как в примере.

    1. Погода сегодня отличная

    2. <div class="primer'>П</div>огода сегодня отличная

    В каждой строке
     
  2. wcw2007

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

    Регистрация:
    15 мар 2017
    Сообщения:
    126
    Или другие способы есть?
     
  3. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Код:
    ---re:\r\n([A-Za-zа-яА-Я]{1})([\S]+) |{br}<div class="primer'>$1</div>$2 ---
    Без черточек ---
     
  4. wcw2007

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

    Регистрация:
    15 мар 2017
    Сообщения:
    126
    Извините но не работает ваш вариант. Пробовал везде и в самой границе парсинга и в шаблоне не работает.

    Вот пример простой не работает
    [REPLACE(re:\r\n([A-Za-zа-яА-Я]{1})([\S]+) |{br}<div class="primer'>$1</div>$2)]текст[/REPLACE]
     
    Последнее редактирование: 17 мар 2017
  5. Dumka

    Dumka Well-Known Member Пользователи

    Регистрация:
    8 фев 2012
    Сообщения:
    121
    re:^(\w)|<div class="primer'>$1</div>
    вот так попробуй :)
     
  6. wcw2007

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

    Регистрация:
    15 мар 2017
    Сообщения:
    126
    К сожалению ваш вариант не работает
    [REPLACE(re:^(\w)|<div class="primer'>$1</div>)]текст[/REPLACE]
     
  7. wcw2007

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

    Регистрация:
    15 мар 2017
    Сообщения:
    126
    Вот такой вариант практически работает
    [REPLACE(re:^[A-Za-zа-яА-Я]|<div class="primer">$1</div>)]текст[/REPLACE]
    Только между дивами пусто не выводится первая буква т.е. $1 не работает
     
  8. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Код:
    re:^|#s#
    {br}|{br}#s#
    re:#s#([A-Za-zа-яА-Я]{1})|<div class="primer'>$1</div>
    [​IMG]
     
  9. wcw2007

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

    Регистрация:
    15 мар 2017
    Сообщения:
    126
    Спасибо почти работает есть только пару моментов

    1. Если большой текст убираются все теги <br> и получается текстовая портянка
    2. выводи внизу и вверху #s# в предпросмотре

    Пример html код
    #s#
    <span class="primer">Л</span>юбимый, я уезжаю на работу рано утром, завтрак сделай сам себе.
    #s#
     
  10. wcw2007

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

    Регистрация:
    15 мар 2017
    Сообщения:
    126
    ВОТ ПОЛНОСТЬЮ РАБОЧИЙ ВАРИАНТ ВСЕМ СПАСИБО

    re:^|#s#
    {br}|{br}#s#
    re:#s#([A-Za-zа-яА-Я]{1})|<span class="primer">$1</span>
    #s#|
     
    Root нравится это.
  11. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.433
    Адрес:
    Latvia
    Изначально вопрос был о строках, оказывается теперь уже речь о тексте "портянка с br тегами". При вопросе о регулярном выражении важны мелочи.
    Вот наглядный пример, в теме простое решение надо было решить - но растянули нам целую страницу.
     
Статус темы:
Закрыта.

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