[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Текст -> БД -> Текст
Raito-kun
Вобщем, вкратце о задаче. Есть форма, через которую добавляется комментарий (заносится в базу данных), который в последующем виден на странице. Не суть важны все детали. Главное - есть поле <textarea> и кнопка submit. После этого форма направляет нас к этой же странице. Далее на этой странице выполняется PHP скрипт. Сначала я получаю данные методом POST ( $content = strip_tags($_POST['content']); ). Далее после проверки массы условий, этот "контэнт" заносится в БД mySQL
PHP
$query mysql_query("INSERT INTO comments (added,author,content)
                                   VALUES ('$date','$author','$content')"
);


Так вот на выходе, если, допустим, в textarea я делал абзац или ставил несколько пробелов, в комментарии выданом базой данных их не будет, а будет просто текст подряд. Все абзацы=одинарным пробелам, несколько пробелов=один пробел. Тоесть теряется все редактирование, которое я проделывал в textarea перед отправкой. Подскажите, пожалуйста, как быть?)



Спустя 7 минут, 21 секунда (28.06.2009 - 20:58) Krevedko написал(а):
тэги ставь )

Спустя 35 минут, 39 секунд (28.06.2009 - 21:34) twin написал(а):
Цитата
тэги ставь )

Кому это, юзеру совет? Юзер то как поставит теги?

На счет переносов это: nl2br()
А пробелы надо заменять на эквивалент. Кроме того, что бы избежать XSS атак, и что бы было видно символы < >, нужно обработать на выходе функцией htmlspecialchars()
В итоге имеем такую картину:

PHP
$content = nl2br(str_replace(" ","&nbsp;",htmlspecialchars($content)));

Спустя 28 минут, 6 секунд (28.06.2009 - 22:02) Raito-kun написал(а):
О как оперативно) Креведко, очень отжигаешь, особенно если я пишу "strip_tags", специально для запрета)

А вот twin'у огромное спасибо. Сейчас буду разбираться с этой функцией.

Спустя 4 минуты, 51 секунда (28.06.2009 - 22:07) twin написал(а):
Цитата
особенно если я пишу "strip_tags", специально для запрета)

Не пиши этого. Не надо запрещать ничего. Что юзер написал, то и должно быть видно. А то он напишет <Вася> и фигушки.

Спустя 6 минут, 1 секунда (28.06.2009 - 22:13) Raito-kun написал(а):
Понятно, учту smile.gif

Спустя 1 минута, 13 секунд (28.06.2009 - 22:14) Krevedko написал(а):
Цитата (Raito-kun @ 28.06.2009 - 19:02)
О как оперативно) Креведко, очень отжигаешь, особенно если я пишу "strip_tags", специально для запрета)

А вот twin'у огромное спасибо. Сейчас буду разбираться с этой функцией.

да ладно тебе. уже и пошутить нельзя )
кстати у меня такая же проблема была, сам не знал как побороть.
так что твину двойной респект
Быстрый ответ:

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