LINUX.ORG.RU

perl CGI обработка \n в теге <textarea>


0

0

Нужно обработать символ "\n" в теге <textarea>, который идет потом в mysql-базу.
И потом надо корректно отобразить на странице
пока получается только так

забиваю
print "Hello\n";

получаю
print "Hello
";

(-: need help

anonymous

Ответ на: комментарий от golodranez

чего не понятно =)

есть форма html, в ней поле для ввода многострочного текста (wraf пробовал разные)
ну и кнопка submit, которая отсылает через POST метод данные этого поля в переменную $text (параметр формы)

вот ввожу на странице, в форме код

print "Hello!\n";

cgi скрипт принимает его как параметр $text
my $text = param('text');

я его прогоняю через функцию escapeHTML, чтобы избавится от косяков при добавлении текста в базу и отправляю через UPDATE в mysql

потом, нужно просмотреть етот текст, также через форму вызывется просмотр, я делаю unescapeHTML($text) и печатаю на форму в виде html

но на странице выводится

print "Hello!
";

то есть символ \n принимается буквально как перевод строки и уже в базу попадает как реальный перевод строки, а не как \n

вот вопрос, может есть какая стандартная функция в объекте CGI или самому написать, как сделать чтоб сохранялся символ \n при передаче из формы???



anonymous
()
Ответ на: комментарий от anonymous

> я его прогоняю через функцию escapeHTML, чтобы избавится от косяков при добавлении текста в базу и отправляю через UPDATE в mysql

От косяков надо избавляться не так. perldoc DBI

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

да он используется, не в том вопрос!!!
DBI тоже использует INSERT и UPDATE =)
и если будут кавычки в передаваемом тексте никакой DBI не поможет

как насчет \n !!!

anonymous
()
Ответ на: комментарий от anonymous

> и если будут кавычки в передаваемом тексте никакой DBI не поможет

Почему это не поможет? DBI это не только INSERT и UPDATE, это ещё и prepare, bind_param, execute и многое многое другое :)

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

народ кончайте офтопить, я в кусе что тако DBI, проблема в другом...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.