За последние 24 часа нас посетил 22591 программист и 1139 роботов. Сейчас ищут 612 программистов ...

Авто параграф

Тема в разделе "Регулярные выражения", создана пользователем VGlad, 20 мар 2017.

  1. VGlad

    VGlad Новичок

    С нами с:
    20 мар 2017
    Сообщения:
    17
    Симпатии:
    2
    Привет все, как можно сделать авто параграф при выводе текста с textarea.

    Например, я написал в textarea: "Привет, это первая строка.
    Вторая
    третья
    4"

    Мне нужно, чтобы на выводе (echo $_POST['text']; ) каждая строка была с тегом <p>.
     
  2. Emilien

    Emilien Активный пользователь

    С нами с:
    30 июн 2016
    Сообщения:
    246
    Симпатии:
    156
    CSS
    Код (Text):
    1. textarea{white-space:pre}
    str_replace()
    PHP:
    1. $text = "<p>" . str_replace("\n", "</p><p>", $text) . "</p>";
     
    TeslaFeo нравится это.
  3. VGlad

    VGlad Новичок

    С нами с:
    20 мар 2017
    Сообщения:
    17
    Симпатии:
    2
    Спасибо, придумал другой способ)
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    покажи плз что придумал. Emilien предложил гениальное решение. Лучше просто не придумаешь.
     
    Shkiper777 нравится это.
  5. VGlad

    VGlad Новичок

    С нами с:
    20 мар 2017
    Сообщения:
    17
    Симпатии:
    2
    Да, оно гениальное, но мне не подходило)
    Сделал так:
    PHP:
    1. $text = preg_replace("#\r\n|\r#m", "\n", $text); // символ новой строки
    2. $text = preg_replace("#\n\n+#m", "\n", $text); // Удалить дубликаты
    3. $text = preg_replace("#\n?((.|\n)+?)$#m", "<p>$1</p>", $text); // вывод всех строк с тегом <p>