nl2br() - переход на новую строку

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2031
Поблагодарили: 62 раза

nl2br() - переход на новую строку

Сообщение Slash » Вс фев 02, 2014 10:50 am

Об этой функции мне поведал товарищ lyod, которая в свою очередь оказалась очень полезна. Говоря простым языком функция nl2br() добавляет переход на новую строчку, там, где это было задано. Например мне потребовалось для небольшого блога, с которым кстати мне тоже помог товарищ lyod, сделать переход на новую строку в статьях. То есть изначально все искусственные переходы, при вводе текста, сделанные Enter'ом не учитывались, все было одним литым текстом, после добавления функции nl2br() все стало, как надо.
Что же я сделал? Куда вставил функцию?
В общем перед выводом текста на экран, пропускаем этот текст через функцию:

Код: Выделить всё

echo nl2br($blog_message);

Готово! Теперь все переходы учитываются.
Реклама
cefp
Сообщения: 333
Поблагодарили: 3 раза

Re: nl2br() - переход на новую строку

Сообщение cefp » Сб июл 04, 2015 1:10 am

Интересно есть ли функция замену двойного нажатия энтера новым абзацем.
d o h o d - s - n u l y a .ru - идеи бизнеса.
lyod
Сообщения: 76
Поблагодарили: 1 раз

Re: nl2br() - переход на новую строку

Сообщение lyod » Сб июл 04, 2015 1:01 pm

есть ли функция замену двойного нажатия энтера новым абзацем.

Нет. Но сделать её очень легко.
Вот:

Код: Выделить всё

<?php
    
/*
    * Для преобразования переноса строк в теги html,
    * При двойном переносе создаётся новый абзац.
    *
    * @var $string - строка для обработки
    *
    * @return string
    */
    
function nl2p$string ){
        
# Производим замену
        
$string '<p>'preg_replace("~\r\n(\s*)\r\n|\n\r(\s*)\n\r|\n(\s*)\n~"'</p><p>'$string) .'</p>';
        
        
# Возвращаем обработанную строку
        
return nl2br$string );
    }
    
    
# Пример использования
    
$string 'Проверка работы функции для обработки нового абзаца.
    
    Проверка работы функции для обработки нового абзаца.
    А это обычный перенос, перед ним будет обычный тег "br".
    
    Проверка работы функции для обработки нового абзаца.'
;
    
    echo 
nl2p$string ); 
cefp
Сообщения: 333
Поблагодарили: 3 раза

Re: nl2br() - переход на новую строку

Сообщение cefp » Сб июл 04, 2015 4:07 pm

Спасибо за код, очень полезный.
d o h o d - s - n u l y a .ru - идеи бизнеса.

Вернуться в «PHP»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость