Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Обработка переноса строки
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Обработка переноса строки

Страниц (1): [1]
 

1. RickMan - 23 Мая, 2012 - 23:23:55 - перейти к сообщению
Здравствуйте!
У меня такая проблема! У меня скрипт форума....Я пишу комментарий к теме, и некоторые строки пишу через enter (с новой строки)...а в БД и уже на вывод на экран оно идет все в 1 строку...

В конечном итоге пробовал:
PHP:
скопировать код в буфер обмена
  1. $_POST['text']=str_replace("\n","<BR>",$_POST['text']);


но не помогло...
Как альтернативу использовал

PHP:
скопировать код в буфер обмена
  1. $_POST['text']=str_replace("& lt;BR& gt;","<BR>",$_POST['text']);


и когда писел коммент, там где нажимал enter вводил и <BR> и было норм...но так же далеко не уйдешь...

В общем надо как-то сделать, чтобы он, видя что строка кончилась вставлял <BR> в текст...

Заранее благодарю...
2. Panoptik - 23 Мая, 2012 - 23:36:29 - перейти к сообщению
nl2br
3. RickMan - 23 Мая, 2012 - 23:56:08 - перейти к сообщению
Panoptik пишет:
nl2br


не сработало...
Если писать /n там где хочешь чтобы была новая строка тогда да..а так, нет, не идет как надо...


вот запрос занесения в БД:

CODE (SQL):
скопировать код в буфер обмена
  1. mysql_query("INSERT INTO `forum_posts` (`id`, `tid`, `fid`, `msg`, `poster`, `create`) VALUES (NULL, '".chars($_POST['id'])."', '".chars($_POST['n'])."', '".$_POST['text']."', '".$user['id']."', '".time()."');");


где $_POST['text'] это то, что я имею в исходнике...
4. Panoptik - 24 Мая, 2012 - 00:00:27 - перейти к сообщению
во первых функция обрабатывает последовательности \n \r или их комбинации
ваше
RickMan пишет:
/n
является не корректным, хотя впрочем вы могли очепятаться

что же касается запроса, то в чем задача? записать обработанные данные в базу?
PHP:
скопировать код в буфер обмена
  1. mysql_query("INSERT INTO `forum_posts` (`id`, `tid`, `fid`, `msg`, `poster`, `create`) VALUES (NULL, '".chars($_POST['id'])."', '".chars($_POST['n'])."', '".nl2br($_POST['text'])."', '".$user['id']."', '".time()."');");
5. RickMan - 24 Мая, 2012 - 00:09:29 - перейти к сообщению
Panoptik пишет:
во первых функция обрабатывает последовательности \n \r или их комбинации
ваше
RickMan пишет:
/n
является не корректным, хотя впрочем вы могли очепятаться

что же касается запроса, то в чем задача? записать обработанные данные в базу?
PHP:
скопировать код в буфер обмена
  1. mysql_query("INSERT INTO `forum_posts` (`id`, `tid`, `fid`, `msg`, `poster`, `create`) VALUES (NULL, '".chars($_POST['id'])."', '".chars($_POST['n'])."', '".nl2br($_POST['text'])."', '".$user['id']."', '".time()."');");


Эмм...я кажись доступно обьяснил, но давайте еще раз...
К примеру в окно добавления комментария я пишу:

Цитата:

Я тут, гдето
Должен быть
Скрипт


ну и базу попсать должно как я понимаю запись такая:

Цитата:
Я тут, гдето <BR> Должен быть <BR> Скрипт


В общем такая, чтобы при выводе он мне вывел
Цитата:

Я тут, гдето
Должен быть
Скрипт


а не

Цитата:
Я тут, гдето Должен быть Скрипт


В моем случае я попробовал и str_replace и nl2br и не помогло не то, ни другое...

Повторуюсь, задача чтобы скрипт находил сам конец строки и вставлял там <BR>

Что может быть еще виною...или как можно решить проблему?
6. Bio man - 24 Мая, 2012 - 00:47:34 - перейти к сообщению
RickMan, nl2br
7. RickMan - 24 Мая, 2012 - 08:54:18 - перейти к сообщению
Bio man пишет:
RickMan, nl2br


Дык я же писал) ставлю nl2br и не выходит) почему-то он не улавливает где конец строки...
8. Panoptik - 24 Мая, 2012 - 09:00:08 - перейти к сообщению
значит там нет конца строки. может вы предварительно обрабатываете данные еще какой-нибудь функцией.
чтобы nl2br сработала возьмите чистый текст с переносами из текстареа и прогоните через nl2br. сделайте echo результата и увидите
9. RickMan - 24 Мая, 2012 - 09:04:13 - перейти к сообщению
Panoptik пишет:
значит там нет конца строки. может вы предварительно обрабатываете данные еще какой-нибудь функцией.
чтобы nl2br сработала возьмите чистый текст с переносами из текстареа и прогоните через nl2br. сделайте echo результата и увидите


а тип ячейки в которую я толкаю готовый вариант имеет значение? у меня там text стоит...
(Добавление)
походу нашел ошибку...
У меня в текстарея было wrap="virtual" .... я пока не в курсе что это, щас буду читать, но как только убрал, отображаться стало нормально

 

Powered by ExBB FM 1.0 RC1