アプリ版:「スタンプのみでお礼する」機能のリリースについて

最近CGIを独学ではじめたのですが、複数行のテキストエリアからの文字列の取得をした場合、改行が反映されずに表示されます。
改行コードのようなものは取得されている、とちらりとどこかで見たことがあるのですが、どのように取得して改行させるかが分かりません。
すみませんが、ご存知の方がいらっしゃいましたら教えていただけないでしょうか。

このような感じで書きました。
my $cgi = CGI::new();
my $area = $cgi->param('text');

print "Content-type: text/html\n\n";
print $area;

A 回答 (1件)

> print "Content-type: text/html\n\n";



htmlで改行する場合は、再度テキストエリアなどに表示しない場合、
<br>といったhtml用のタグを用いるのが通例です。
ですので、そのまま出力して改行を反映させるならば text/html から text/plain に変え、

print "Content-type: text/plain\n\n";
print $area;

としてください。


htmlとして表示するなら、改行を<br>に置換すれば表示できるでしょう。


#全て置換する
$area =~ s/\r\n|[\r\n]/<br>/g;

print "Content-type: text/html\n\n";
print $area;
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

なるほど、置き換えで改行が出来るのですか。
ありがとうございました

お礼日時:2009/07/17 20:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!