Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: хранение сообщений, полученных из формы
 
 автор: BarT   (12.06.2004 в 21:34)   письмо автору
 
 

Доброе время суток!
Есть вопрос...я только учусь, поэтому не судите строго:
цель сделать очень простенькое подобие..хм..гостевой.
Совсем примитивное:
на странице (forma.php): многострочная форма и вывод одержания текстового файла с сообщениями (файл наз. texta.txt). Каждое сообщение в рамочке, скриптик для "ячейки" в файле (template2.php).
Суть в том, что каждое сообщение выводится 2 раза, т.е. допустим, что пользователь написал в форме:
"<i>курсив</i>
<b>жирным</b>
просто так" , тогда:
первый раз выводится:
курсив жирным просто так /*курсив-курсивом, жирный соответственно - жирным и т.п. */
а второй раз уже так:
<i>курсив</i>
<b>жирным</b>
просто так
/*как было введено в форму со всеми html-ями и переводом строк и проч.*/

это все хоть и страшненько, неоптимизировано, с повторением, но получилось, проблема в том, что текст из многострочной формы нужно хранить в файле texta.txt в виде, максимально приближенном к тому, как написал пользователь, т.е.
<i>jjjj</i>\r\n<b>hhhh</b> /*с переводом строк, возвратом каретки и т.п., */
а у меня получается так:
<i>курсив</i>
<br><b>жирным</b>
<br>просто так


Обрабатывать сообщение нужно примерно так:

$no_esc="bbb\r\naaa"; 
//заэкранировать строку с сообщением 
$esc=addcslashes($no_esc, "\r\n");
//прочие действия...
//------в другом файле, где шаблон с ячейкой для сообщения---
//перед выводом текста вернуть обратно: 
$final=stripcslashes($esc);
echo "$final"; 


Все бы ничего, но у меня уже нет соображений куда в forma.php следует написать addcslashes($message, "\r\n");
получается так, что или весь текст в одно сообщение превращается или многострочные сообщения разбиваются по строкам, каждая строка в новой рамочке.
вот ссылка на то, что работает, но увы, в файл сообщения там сохраняются не так, как нужно: http://bart.pochtamt.ru/PHP_work_forma.zip
Извините, что в zip-е, пока больше выложить негде.

Если не трудно, подскажите и напишите примерчик, как правильно будет сохранить сообщение ввиде <i>jjjj</i>\r\n<b>hhhh</b>, буду очень благодарна, заранее всем спасибо.
Татьяна (BarT)

   
 
 автор: cheops   (12.06.2004 в 22:42)   письмо автору
 
   для: BarT   (12.06.2004 в 21:34)
 

Татьяна, поправьте если ошибаюсь, вот этот рабочий скрипт нужно реализовать обязательно через связку addcslashes/stripcslashes не пользуясь str_replace? Тогда вариант в атаче, но избавиться от одного str_replace в строчке 58 всё-равно не удасться.
Или всё-таки задача состоит в другом? Меня смущает то, что вариант у вас полностью рабочий и результат вас устраивает...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования