[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: nl2br и абзацы
Begmak
Доброго времени суток !
Прошу помощи, ибо уже весь инет перерыл, везде решение одно и тоже, а вот у меня почему то не получается sad.gif
Ввожу текст , сохраняю в базу, вывожу на страницу, и получается сплошной текст.

Ввожу такой текст:

Цитата

Попытка раз два три
  Раз два три
  И еще разок


А получается:

Цитата

Попытка раз два три
Раз два три
И еще разок


Вывожу через nl2br(); но вот пробелы перед каждой новой строкой он не сохраняет(это как раз и надо, для форматирования текста).Не могу понять, что я делаю не так, или, может быть, я что-то не допонимаю?
В базе данных текст сохраняется как надо.

Заранее выражаю благодарность за потраченное на меня время smile.gif



Спустя 4 минуты, 16 секунд (17.08.2012 - 15:13) kamanch написал(а):
если в лоб, то так:
$s =  str_replace ( " ", "&nbsp ;", $s);
// в &nbsp ; убрать пробел перед точкой с запятой.

Спустя 2 минуты, 42 секунды (17.08.2012 - 15:15) Krevedko написал(а):
Тогда уж два пробела поставить, чтобы заменял. А то он во всем тексте пробелы похе.ит.

Спустя 3 минуты, 47 секунд (17.08.2012 - 15:19) Invis1ble написал(а):

Спустя 28 минут, 18 секунд (17.08.2012 - 15:47) killer8080 написал(а):
Цитата (Begmak @ 17.08.2012 - 16:08)
Вывожу через nl2br(); но вот пробелы перед каждой новой строкой он не сохраняет(это как раз и надо, для форматирования текста).Не могу понять, что я делаю не так, или, может быть, я что-то не допонимаю?

nl2br тут не при чем, браузер выкидывает все цепочки пробельных символов, и отображает их как один пробел. Для сохранения форматирования нужно либо юзать тег <pre>, либо css, как выше показали.

Спустя 34 минуты, 29 секунд (17.08.2012 - 16:22) Begmak написал(а):
Цитата (kamanch @ 17.08.2012 - 13:13)
если в лоб, то так:
$s =  str_replace ( " ", "&nbsp ;", $s);
// в &nbsp ; убрать пробел перед точкой с запятой.

о боги, как я мог забыть про эту функцию !

Спасибо большое !:)

Спустя 1 минута, 5 секунд (17.08.2012 - 16:23) Invis1ble написал(а):
*facepalm*

Спустя 2 минуты, 12 секунд (17.08.2012 - 16:25) Begmak написал(а):
Цитата
Тогда уж два пробела поставить, чтобы заменял. А то он во всем тексте пробелы похе.ит.

Именно так я и сделал)
Цитата
http://htmlbook.ru/css/white-space

Большое спасибо, сейчас и с этим методом попробую, для развития smile.gif
Цитата
nl2br тут не при чем, браузер выкидывает все цепочки пробельных символов, и отображает их как один пробел. Для сохранения форматирования нужно либо юзать тег <pre>, либо css, как выше показали.

Спасибо за разъяснение !:)

Всем спасибо, проблема решена !

Спустя 3 минуты, 19 секунд (17.08.2012 - 16:29) Begmak написал(а):
Да....с CSS все в разы быстрее и проще получается...эх,а я целую неделю возился с этим smile.gif

Спустя 1 минута, 10 секунд (17.08.2012 - 16:30) killer8080 написал(а):
Цитата (Begmak @ 17.08.2012 - 17:29)
Да....с CSS все в разы быстрее и проще получается.

а заменить div на pre сложнее? rolleyes.gif

Спустя 58 секунд (17.08.2012 - 16:31) Invis1ble написал(а):
для pre еще font-family указать надо )

Спустя 3 минуты, 52 секунды (17.08.2012 - 16:35) killer8080 написал(а):
Цитата (Invis1ble @ 17.08.2012 - 17:31)
для pre еще font-family указать надо )

зато класс назначать не нужно smile.gif
Ну в общем спорить не буду, это я возразил на фразу
Цитата (Begmak @ 17.08.2012 - 17:29)
Да....с CSS все в разы быстрее и проще получается.

наверно ТС имел ввиду по сравнению с заменой символов.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.