1

テキストエリアからのユーザー入力をmysqlデータベースに挿入しようとしています。現在のところ、ユーザーが次のように入力した場合:

"Hello.


hello."

改行なしでデータベースに挿入されます。どうすればこれを修正できますか?

4

3 に答える 3

4

phpMyAdmin を使用して、改行がないことを伝えている可能性があります。もしそうなら、それはあなたに嘘をついています。phpMyAdmin はコンテンツを HTML として表示し、改行は単一の空白に変換されます。

値を出力するだけで phpMyAdmin を使用していない場合でも、HTML で空白が折りたたまれます。形式を維持するには、<pre>タグ間または css スタイルのスパンで出力しますwhite-space: pre

于 2012-06-02T23:45:03.077 に答える
1

実際には、改行はデータベースに挿入されていますが、表示されていないだけです。なぜなら"\r\n"、これはLine FeedCarriage Return だからです。詳細については、こちらを参照してください。

データは次のように保存する必要があると思います: 変換は行われません。コンテンツを HTML に書き込むときは、単にnl2br($content).

また、そのコンテンツをテキストエリアタグに出力するときに、自動的に認識されるため、編集も簡単です。"\r\n"

于 2012-06-02T23:49:49.430 に答える
0

PHPを使用している場合は、使用することをお勧めします$message = nl2br($message);

これにより、改行が br に変わります。

于 2012-06-02T23:43:47.417 に答える