• ベストアンサー

CGIを使用してtextareaデータをHTMLファイルに変換の改行。

textareaに入れられたデータをCGIを使用して、HTMLファイルに変換しています。 その時に、改行が1行ずつ多く入ってしまうようなのです。 例えばtextareaに あああああ あああ いいい ううう と入っていた場合、できあがったHTMLファイルは あああああ あああ いいい ううう となってしまうのです。 できあがったHTMLファイルを見ても改行が多いわけではなさそうなのですが…。 $buffer =~ tr/+/ /; $buffer =~ s/\n/<BR>/g; $buffer =~ s/'/\'/g; $buffer =~ s/・//g; みたいな感じでなってますが。 おわかりの方よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • peaaar
  • ベストアンサー率62% (5/8)
回答No.2

$buffer =~ s/\n/<BR>/g; ↓ $buffer =~ s/\r\n/<BR>/g; $buffer =~ s/\n/<BR>/g; $buffer =~ s/\r/<BR>/g; でどうでしょうか?

KODAMAR
質問者

お礼

回答ありがとうございます。 通常のテーブルなどを作成するのであれば私がかいたものでもOKのようなのですが、 TEXTAREAですと<BR>が出てしまうようなのでダメみたいです…。 なので $buffer =~ s/\n//g; $buffer =~ s/'/\'/g; $buffer =~ s/ //g; としてみたところできあがったHTMLファイルを見る分には問題ないのですが、 HTMLファイルのソースをみてみると、改行してあるはずのところに半角の・(コピペすると消えてしまうので) があり1行が長く入っています。 HTMLが表示上問題ないのでそこまでしなくてもいいのかもしれないのですがやはり美しくソースを書きたいので。 おわかりになればよろしくお願いします。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

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

KODAMAR
質問者

お礼

回答ありがとうございます。 (さきほどはありがとうございました。) <PRE>が私が書いたもののなかには見当たらないのですが…。

関連するQ&A