Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Perl (http://www.flasher.ru/forum/forumdisplay.php?f=21)
-   -   Как предать из формы в файл, соблюдая переносы строк и обратно??? (http://www.flasher.ru/forum/showthread.php?t=21417)

sanwebm 16.10.2001 16:57

Как предать из формы в файл, соблюдая переносы строк и обратно???
 
Народ, здраствуйте!

Меня интересует сл. вопрос: Как предать из формы в файл данные, при этом вместо знака переноса на начало следующей строки должны ствиться <br>. Либо Читая из файла информацию в @content, чтобы после определенных действий (буду благодарен за код) выдавало в html'е текст, но с сортировкой по строкам, т.е.

Инфа в файле:

Привет

Вам

Всем!!!

В html'е:
<br>
Привет
<br>
Вам
<br>
Всем!!!


Как этого добиться?? заранее Вам благодарен.

SPV 16.10.2001 17:17

$anyvar =~ s/\r//eg;
$anyvar =~ s/\n/'<br>'/eg;

sanwebm 18.10.2001 03:51

А как сделать следующее???
 
Предположим, записывает в файл правильно, но все равно я извлекаю данные из файла (куда занес только что данные из формы) в массив:
Код:

open(DATA,"content.dat");
@cont=<DATA>;
chomp @cont;
close(DATA);

Таким образом содержимое храниться в массиве @cont
Далее...
Чтобы вывести содержимое файла правильно (соблюдая переносы (абзацы)) я использую
Код:

foreach $line (@cont) {
print "$line<br>";
}

И это понятно (есть более умное предложение???) ...
Т.е. конструкция вида:
Код:

@cont =~ s/\n/'<br>'/eg;
уже не подходит, т.е. вызывыает ошибку.
что делать в этом случае???

Далее: когда касается отправки содержимого то e-mail я использую конструкцию:
Код:

open(SENDMAIL, "$mail_path -oi -t -odq") or &Error($email);
print SENDMAIL <<"EOF";
From: <$your_email>
To: <$email>
Subject: $subject
@cont
EOF
close(SENDMAIL) or warn "sendmail cant close";

Но в таком случае содержимое письма передается без переноса абзацев. Как быть в этом случае???

Если можно помогите.

Заранее благодарен.

SPV 18.10.2001 11:54

1. Аты вставляй переносы сразу при считывании из файла:
open(DATA,"content.dat");
$cont= join('<br>',<DATA>);
close(DATA);
print $cont;

2. Не забывай пустую строку, разделяющую заголовок письма от содержимого. И не мешает указать тип содержимого:
print SENDMAIL <<"EOF";
From: <$your_email>
To: <$email>
Subject: $subject
Content-type: text/html

@cont
EOF

sanwebm 18.10.2001 13:38

Далее...
 
Ок, это допустим работает.

А как быть в следующем случае:

Прочитать содержимое файла, потом это содержимое файла необходимо (сохраняя форматирование, разбиение на строки и т.д.) поместить в тэг
Код:

<textarea>  текст файла </textarea>
В этом случаем нам вышеуказанный метод не подойдет, т.к. он просто-напросто напечатает
Код:


<br>

после каждой строки.

Как быть теперь?
Заранее благодарен.


Часовой пояс GMT +4, время: 20:36.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.