3

ブロブテキストをデータベースに挿入するフォームがあります。

テキストエリアを使用してデータベースに挿入すると、正常に機能します。

たとえば、このテキストをtextareaフィールドに入力すると、次のようになります。

test


ss
f



f
f




dsdfdsf


sdfsdfsdf

次のようにデータベースに保存されます。

test


ss
f



f
f




dsdfdsf


sdfsdfsdf

これで問題ありません。データベースからデータをフェッチしてdivにエコーする場合、nl2br()を使用すると、divの内容は次のようになります。

test


ss
f



f
f




dsdfdsf


sdfsdfsdf

それでも問題ありません

でも

データベースからの出力をテキストエリアにエコーすると、次のようになります。

test
ss
f
f
f
dsdfdsf
sdfsdfsdf

これはnl2brを使用していません。nl2brを使用すると、textareaは次のようになります。

test<br /><br /><br />ss<br />f<br /><br /><br /><br />f<br />f<br /><br /><br /><br /><br />dsdfdsf<br /><br /><br />sdfsdfsdf

そして、(br /)ではなく、新しい行が必要です。行数がわかっていることがわかりますが、nl2brを使用しない場合、1行に最大1つの新しい行しか実行されません。

私はグーグルで調べてみましたが、データベースのコンテンツをdivにエコーする方法を尋ねる人しか見つかりませんでしたが、私にとっては、div(nl2brを使用)では問題なく動作し、テキストエリアだけで動作します...

また、textareaにcss属性を指定しようとしました:'white-space:pre;'ですが、それも機能しません。

4

1 に答える 1

1

nl2brデータをテキストエリアに出力している場合は使用できません。データを(htmlspecialcharsで)出力するだけです。

textareaには、divが表示するように\ n(改行)が表示されます<br />

http://jsbin.com/uzinut/1

于 2012-12-12T13:15:19.220 に答える