1

重複の可能性:
テキストエリアの改行

ユーザーが段落に説明を入力するテキスト領域があります。ユーザーが 2 つの段落を追加したい場合は、Enter キーを押して改行を追加します。しかし、その値をデータベースに保存すると、その改行は保存されません。

ユーザーがEnterキーを押して改行を追加した場合、それもデータベースに保存する必要があります。

私はphpを使用しています。

ありがとう

4

3 に答える 3

5

1 つの改行は a<br />で、2 つの改行は段落の区切りを表す必要があります。したがって、コード内の 2 つのステートメントを探して、"\n\n"それらすべてを に置き換えてから、文字列全体をタグで</p><p>囲みます。<p></p>

実行する必要がある一連の手順は次のとおりです。

  1. PHP サーバーに送信して設定する$input = $_POST['input'];
  2. $input = trim($input)入力の最初と最後からすべての余分な改行と空白を削除するために実行します。
  3. それからする$input = str_replace($input, "\n\n",'</p><p>');
  4. それからする$input = '<p>' . $input . '</p>';

- - 編集 - -

最後に 1 つ注意してください。<p></p>ユーザーが 2 つ以上の連続した改行を入力した場合に空のタグを大量に使用したくない場合は、それに注意する必要があります。

これを回避するには、代わりにこれを実行します。

$input = preg_replace("/\n(?:\n)+/",'</p><p>', $input)
//you may need to set the PHP PCRE multiline flag for this to work
于 2012-09-10T05:47:28.557 に答える
1

mysql_real_escape_string($input); を使用できます。これにより、おそらく改行も節約できます。

于 2012-09-10T05:52:27.083 に答える
0

nl2br($ content_here);を使用します。取得中

http://php.net/manual/en/function.nl2br.php

于 2012-09-10T05:55:21.560 に答える