2

テキストエリアからテキストを収集しています。テキストに改行があります。次に、データベースに保存します。

ただし、データベースから取得して編集用にテキストエリアに表示すると、改行がなくなり、テキストが 1 つの長い実行文字列に変わります。

もともとそこにあった改行を再現してほしい。テキストエリアに挿入し直したときに、改行を適切に表示するにはどうすればよいですか?

注:これは、要素がレンダリングされず、テキストとして書き出されるテキストエリア内にあるため、それらを に変換することはできません。実際の改行が必要です。<br><br>

4

4 に答える 4

5

誰もが改行を に変換することを提案して<br />いますが、質問で述べたように、それはあなたが望むものではありません。テキストエリアに改行を再度表示したい。したがって、ここで必要なのは、テキストエリア内の htmlタグではなく、テキストエリア内の改行であるということですstripcslashes()\n<br />

PHP:ストリップスラッシュ

使用法:

echo stripcslashes($input_text);
于 2014-10-28T01:17:30.210 に答える
-1

これは、この種の問題に対処するときに私が通常行うことです。

  1. データ受信者をフォームに保存します。つまり、ユーザーが改行を使用する場合は、そのように保存します。変更しないでください。
  2. <br />データを表示したら、すべての改行を次のように変換します。

    echo str_replace("\n", "<br />", $data);
    

この手法を使用すると、ユーザーがテキストエリアで使用するフォーマットデータを保持できます。

于 2012-11-18T00:36:58.703 に答える
-1

str_replace()次のようにはなりません:

echo str_replace($data, "\n", "<br />");

こんなふうになります:

str_replace("SEARCH_FOR","REPLACE_WITH",STRING);

それSEARCH_FORはあなたが見つけようとしているものであり、あなたがREPLACE_WITH置き換えたいものでありSTRING、あなたが使用している変数です( など$data)。

于 2013-03-22T20:48:04.963 に答える