MySQLで日記を保存するフィールドを text 型にして、wrap を hard にしました。


いざ入力プログラム(php)を書こうとすると、今度はnl2brというのが出てきました。

どちらも改行を入れるものらしいですが、どちらが必要なのでしょうか。どっちがどう働きをするのか、どちらも改行に関することなので、混乱してしまいました。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/05/07 19:34:48
  • 終了:2007/05/08 10:32:26

ベストアンサー

id:dddrive No.1

dddrive回答回数24ベストアンサー獲得回数12007/05/08 10:20:58

ポイント60pt

textarea

http://www.seo-equation.com/html/html/textarea#wrap

↑ここのCheckを確認してみてください。

改行といっても、WEBページを表示した際に改行して見せるには

<br>タグを挿入する必要があります。

textareaのwarp=hardは改行してサーバに送信してくれるだけで、

そこに<br>タグを挿入してくれるわけではありません。

よってそのデータをそのまま表示しても、WEBページで改行して見えてはくれません。

ただし、ページのソースを表示してみると改行されてると思います。


対して、

nl2br

http://zapanet.info/phpdoc/function.nl2br.html

この関数は文字列中に改行文字があると、そこに<br>タグを挿入して

くれる機能のようです。

つまり、WEBページで改行されて見えます。


まとめると、wrap=hardにした上で文字列を保存して、

そのデータを取り出した際にnl2brを使って出力すれば、

WEBページ上で改行して表示してくれるということです。

id:sun-chan

dddriveさん、ありがとうございます。

wrap = hard にしたら、MySQLで保存するデータの中に "¥n" を入れてくれるという意味なんですね。


それで、それをwebに表示するプログラムで "¥n" を
に変換すべく nl2br を使うということなんですね。


わかりました。読んだ本にもそう書いてあったかなと思うんですが、なじみのない言葉が出てくるからか、なかなか理解できませんでした・・・

2007/05/08 10:32:00

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません