プロが教えるわが家の防犯対策術!

textareaに入れられたデータをCGIを使用して、HTMLファイルに変換しています。
その時に、改行が1行ずつ多く入ってしまうようなのです。
例えばtextareaに

あああああ

あああ
いいい
ううう

と入っていた場合、できあがったHTMLファイルは

あああああ


あああ

いいい

ううう

となってしまうのです。


できあがったHTMLファイルを見ても改行が多いわけではなさそうなのですが…。

$buffer =~ tr/+/ /;
$buffer =~ s/\n/<BR>/g;
$buffer =~ s/'/\'/g;
$buffer =~ s/・//g;

みたいな感じでなってますが。

おわかりの方よろしくお願いします。

A 回答 (2件)

$buffer =~ s/\n/<BR>/g;



$buffer =~ s/\r\n/<BR>/g;
$buffer =~ s/\n/<BR>/g;
$buffer =~ s/\r/<BR>/g;

でどうでしょうか?
    • good
    • 0
この回答へのお礼

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

通常のテーブルなどを作成するのであれば私がかいたものでもOKのようなのですが、
TEXTAREAですと<BR>が出てしまうようなのでダメみたいです…。

なので
$buffer =~ s/\n//g;
$buffer =~ s/'/\'/g;
$buffer =~ s/
//g;

としてみたところできあがったHTMLファイルを見る分には問題ないのですが、
HTMLファイルのソースをみてみると、改行してあるはずのところに半角の・(コピペすると消えてしまうので)
があり1行が長く入っています。
HTMLが表示上問題ないのでそこまでしなくてもいいのかもしれないのですがやはり美しくソースを書きたいので。

おわかりになればよろしくお願いします。

お礼日時:2003/01/15 09:05

<pre>~</pre>の中で、変換してませんか?

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
(さきほどはありがとうございました。)

<PRE>が私が書いたもののなかには見当たらないのですが…。

お礼日時:2003/01/13 14:36

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