を含むフォームがあり<textarea>
、サーバー側でそのテキストエリアの改行をキャプチャして、<br/>
.
それは可能ですか?
のCSSで設定white-space:pre
してみましたtextarea
が、まだ十分ではありません。
を含むフォームがあり<textarea>
、サーバー側でそのテキストエリアの改行をキャプチャして、<br/>
.
それは可能ですか?
のCSSで設定white-space:pre
してみましたtextarea
が、まだ十分ではありません。
機能をご覧くださいnl2br()
。それはあなたが望むことを正確に行うべきです。
nl2br()
まさにこれを行う関数が存在します:
ただし、この関数は br タグを追加しますが、実際には新しい行を削除しません。これは通常問題にはなりませんが、それらを完全に取り除き、キャリッジ リターンもキャッチしたい場合は、str_replace
またはを使用する必要があります。preg_replace
str_replace の方が少し速いと思いますが、ベンチマークはしていません。
$val = str_replace( array("\n","\r","\r\n"), '<br />', $val );
また
$val = preg_replace( "#\n|\r|\r\n#", '<br />', $val );
str_replace
またはを使用する場合preg_replace
は、おそらく"\r\n"
を配列の先頭に配置する必要があります。そうしないと、シーケンスが 2 つのタグ\r\n
に変換されます (が一致し、次にが一致するため)。<br/>
\r
\n
例えば:
$val = str_replace( array("\r\n", "\n","\r"), '<br />', $val );
また
$val = preg_replace( "#\r\n|\n|\r#", '<br />', $val );
に依存しない回答が必要な場合nl2br()
:
$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);
または(この場合):
$newList = ereg_replace( "\n",'<br/>', $_POST['theTextareaContents']);
PHP 側: Textarea 文字列から PHP 文字列へ
$newList = ereg_replace( "\n",'|', $_POST['theTextareaContents']);
PHP 側: PHP 文字列を TextArea 文字列に戻す:
$list = str_replace('|', ' ', $r['db_field_name']);