改行コードを保存できない。

締切り済みの質問

改行コードを保存できない。

<textarea wrap="hard" name="sentence" rows="3" cols="30"></textarea>

このフォームで、入力したデータは、
PostgreSQLのテーブルに保存されるように構成しました。
フィールドは、"text"型です。

いざそれを、phpでHTMLに呼び出すと、改行文字は無視されます。

実際に、データベースを開くと、その値はこのようになっていました。
"ああああ・・あああ・・・・ああ"

改行コードはどうやら、"・"2個を改行1つと扱って保存しているようでした。

phpで、・・を含む値をHTML呼び出す時、
・・を<BR>として呼び出して、改行してしまう技はないでしょうか?

投稿日時 - 2005-08-19 12:48:23

連想キーワード:

QNo.1590136

暇なときに回答ください

3人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(2件中 1~2件目)

ANo.2

No1の方がかかれているようにソースを表示すると改行はされていますか?
それであれば<pre></pre>のタグで囲んだ範囲は改行やスペースがそのまま反映されるので入力されたまま表示したいのならこの方法がよいかもしれません。

投稿日時 - 2005-08-28 16:34:34

ANo.1

改行コードは表示できないので変わりに・が表示されているのだと思います。
2個あるということは\r\nのWindows形式の改行コードの可能性が考えられます。
改行コードはhtmlでは無視されるのでそのまま表示しても改行されません。ソースを表示させればちゃんと改行はされていると思います。
改行コードを<br>に変更する方法ですが
nl2br() 関数を使うか $text = string_replace(array("\r\n", "\r", "\n"), "<br>", $text) のように自分で置換処理する方法があります。
データベースに保存する前に改行を<br>にする方法もあります。

投稿日時 - 2005-08-19 13:44:33

あわせてチェックしたい
  • TEXTAREAの改行がうまくいきません。 ...
  • perl cgiにて作成したtextareaで改行 ...
  • TEXTAREAからのデータを改行入りで表示したい ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら