• 締切済み

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

<textarea wrap="hard" name="sentence" rows="3" cols="30"></textarea> このフォームで、入力したデータは、 PostgreSQLのテーブルに保存されるように構成しました。 フィールドは、"text"型です。 いざそれを、phpでHTMLに呼び出すと、改行文字は無視されます。 実際に、データベースを開くと、その値はこのようになっていました。 "ああああ・・あああ・・・・ああ" 改行コードはどうやら、"・"2個を改行1つと扱って保存しているようでした。 phpで、・・を含む値をHTML呼び出す時、 ・・を<BR>として呼び出して、改行してしまう技はないでしょうか?

みんなの回答

回答No.2

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

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

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

関連するQ&A