フォームで入力した通りに表示するには?

[上に] [前に] [次に]
あさい [E-Mail] 1999/07/02(金) 17:49:00
市販の本を参考にして掲示板を作ったのですが、<testarea>
</testarea>を使った入力フォームで
入れた改行が掲示板に反映されません。$textという変数を<pre>タグで囲んでみたのですがどうにも上手くいかないのです。いい方法はないでしょうか?あと、NN4.0では<textarea>への入力が上手くいかない事が多いと思うのですが気のせいでしょうか?

1999/07/02(金) 19:00:02
このような感じでいいのかな?フォロー・メッセージが入りそうですね

$text =~ s/\r/<br>/g;

zizz... [HomePage] 1999/07/02(金) 22:44:27
Windows, Mac, UNIXすべてで正常に動作させるには、
\r\n, \r, \nを<BR>に変換する必要があります。
とりあえずこれでいいと思います。

$text =~ s/\r\n/<br>/g;
$text =~ s/\r/<br>/g;
$text =~ s/\n/<br>/g;


NN4.0では<textarea>への入力が上手くいかない...
という部分がよくわかりません。
第一、Netscapeは多くのプラットホームに移植されているので、
どのOS上で動いているのかわからないと話になりません。
で、具体的にどのような不都合があるのでしょうか?

あさい [E-Mail] 1999/07/04(日) 00:08:09
月さんzizz...さん、ありがとうございます。
アドヴァイスの通りやってみて、前進できのですが、まだ解決できません。
と、いいますのは掲示版に直接<BR>のタグが表示されてしまうのです。
data.htmlというファイルにデータを保存しているのですが、その
ファイルにはブラウザに<BR>と表示させる内容しか書き込まれない
ようです。すみませんが再度、アドバイスをお願いします。
あとNN4.0での不都合という問題についてはもう少し状況を整理してから
また質問したいと思います。

やま 1999/07/04(日) 00:30:29
直接<BR>のタグが表示されてしまうというのは、掲示板にタグが
書き込まれないように、
$text =~ s/</&lt;/g;
$text =~ s/>/&gt;/g;
か何かで、変換しているのかなと推測できますね。実際にプログ
ラムを見ていないので分かりませんが。
上のような変換をしているのであれば、その後にzizz...さんの
を入れるということで解決できないでしょうか。

1999/07/04(日) 00:32:52
それは、たぶんログを保存するときに、
一度、
$text =~ s/\r\n/<br>/g;
$text =~ s/\r/<br>/g;
$text =~ s/\n/<br>/g;
などで、置換したものを、
再度、
$text =~ s/</&lt;/g;
$text =~ s/>/&gt;/g:
と、置換してログを保存しているためだと思います。

色々と手はあるとおもいますが、一つには、
保存時に、
$text =~ s/\r\n/<br>/g;
などの処理はしないで、表示するときに、
$text =~ s/\r\n/<br>/g;
とすれば、よろしいのではないかと....

あさい [E-Mail] 1999/07/04(日) 00:48:36
[[解決]]
月さん、やまさん、早速のアドヴァイスありがとうございます。
おかげさまで、無事解決しました。すっきりした気持ちで眠れそうです。
それにしてもこのサイトをみている皆さんは本当に頼りになるかたばかりで
すごく感謝してます。自分もいつか人にアドヴァイスできるようになりたい
です。ありがとうございました。

[上に] [前に] [次に]