私はニュース発行のウェブサイトを作成していますが、このサイトでできないことは、改行を入力して表示することだけです。
サイトには記事を書くためのテキストエリアがあります。入力中にEnterキーを押すと、新しい行に移動しますが、すべてを送信した後、mysqlにクエリを実行して、入力した内容をプルしてエコーします。新しい行は表示されません。すべてのテキストは隣り合っています。それで、PHPの助けを借りてtextareaに改行を入力および出力できるかどうか疑問に思いましたか?
フォームを送信すると、テキストが送信されます。
そのテキストをHTMLドキュメントに入れると、それはHTMLになります。
HTMLでは、改行はスペースやタブと同じ意味を持つ単なる空白です。
新しい行を表示したい場合は、それらをレンダリングするマークアップでラップする必要があります(要素、またはレンダリングするよう<pre>
にプロパティが設定された要素などwhite-space
)、または適切なものに置き換える必要がありますマークアップ。
非常に原始的な置き換えは、PHPのnl2br
関数です。より高度なオプションは、<p>
要素を生成し、異なる数の連続する新しい行を異なる方法で処理します(たとえば、Stackoverflowで使用されるようなMarkdownパーサー)。