0

これをテキストエリアからデータベースに挿入します。

Hello

How 

Are 

You

次のように保存されます。

Hello\n\nHow \n\nAre \n\nYou 

しかし、それを入れた後にテキストエリアに表示すると、nl2brまだHello\n\nHow \n\nAre \n\nYou. データベースに挿入したときと同じように表示するにはどうすればよいですか?

これは、値を取得するために使用している jQuery コードです。

           var getURL = WEBROOT + "index.php/Connection/getConfig/" + rowID;
                    var editConfig = $("<div>");
                    editConfig.load(getURL, function(){
                        var configValue = $(this).html();
                        console.log(configValue);
                        var button = $("<button>", {
                                html: "submit"
                            }),
                            textArea = $("<textarea>",{
                                width: "350px", height: "600px"
                            }).val(nl2br(configValue));
                        $(this).text("").append(
                            textArea,
                            $("<br/>"),
                            button
                        ).dialog({
                            title: "Editing Config for id " + rowID,
                            modal: true,
                            width: 405
                        });
                  });
4

6 に答える 6

3

(回答へのアップグレード)

\nそのエスケープコードで表される実際の改行ではなく、データベースに文字シーケンスを保存したようです。その場合nl2br、違いはありません(実際の改行をHTML<br/>タグに置き換えます。これは、に改行を表示するために必要なものでもありません)-代わり<textarea>に使用する必要があります。stripcslashes

ただし、内容がエスケープされないように、データベース内のデータを修正することをお勧めします。

于 2012-05-17T17:25:52.120 に答える
0

これは正しい方法ではないかもしれませんが、テーブルに保存する前に、いつでも\nwith<br>をusingに置き換えることができます。str_replace次に、メッセージを出力するだけで、すべてが正しくフォーマットされます。

于 2012-05-17T17:19:03.487 に答える
0

nl2brは改行をbrhtmlタグに変換し、div内のtextareaでのみhtmlをレンダリングすることはできません。改行付きのテキストを表示したい場合は、Tiny-Mce http://www.tinymce.com/tryit/full.phpを使用すると、このようなことが簡単になります。

于 2012-05-17T17:19:04.753 に答える
0

echo nl2br($var)textarea内に表示していたとは思いません。理由は、もしあなたがそれをしていたら、あなたはそう\r\nなっていたでしょう<br/>、そしてあなたは見ているでしょう

Hello<br/>How <br/>Are <br/>You 

次のコードを使用して、textarea内に表示します。

echo $var

次のコードを使用して、テキストエリアの外側、つまりテーブルセルやDIVなどの内側を表示します。

echo nl2br($var)
于 2012-05-17T17:19:53.253 に答える
0

テキスト領域のテキストを書式設定することはできません。代わりに div を使用できます。str_replace()を使用して "\n" を置き換えます

于 2012-05-17T17:15:45.167 に答える
0

これを新しい HTML ファイルに入れるだけです。

<form>
<textarea>
abc
def
123
</textarea>
</form>

改行をテキストエリアに入れるには、<br>使用しないでください - 代わりにハードリターンを使用してください。"\n"PHP スクリプトで をブラウザに出力して、何が起こるか見てみましょう。

于 2012-05-17T17:21:06.173 に答える