回答:
これを試してください:
<textarea cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
ラインフィードと
キャリッジリターンはHTMLエンティティのウィキペディアです。この方法では、テキストとして表示するのではなく、実際に新しい行( "\ n")を解析します。
を解析するだけでは十分ではありません\n
ですか?
私が見つけたString.fromCharCode(13, 10)
ビューエンジンを使用する場合に便利。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
これにより、実際の改行文字を含む文字列が作成されるため、ビューエンジンはエスケープバージョンではなく改行を出力します。例:NodeJS EJSビューエンジンの使用-これは、任意の\ nを置き換える必要がある単純な例です。
viewHelper.js
exports.replaceNewline = function(input) {
var newline = String.fromCharCode(13, 10);
return input.replaceAll('\\n', newline);
}
EJS
<textarea><%- viewHelper.replaceNewline("Blah\nblah\nblah") %></textarea>
レンダリング
<textarea>Blah
blah
blah</textarea>
replaceAll:
String.prototype.replaceAll = function (find, replace) {
var result = this;
do {
var split = result.split(find);
result = split.join(replace);
} while (split.length > 1);
return result;
};
s = s.replace(/\\n/g, String.fromCharCode(13, 10) )
。これは魔法です。ありがとうございました。
<textarea cols='60' rows='8'>This is my statement one.
This is my statement2</textarea>
それが機能することを示すフィドル:http : //jsfiddle.net/trott/5vu28/。
これをソースファイルの1行に本当に入れたい場合は、@ Bakudanからの回答に示すように、ラインフィードとキャリッジリターンのHTML文字参照を挿入できます。
<textarea cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
異なる言語の構文を混乱させていると思います。
HTML文字列のラインフィード文字リテラル(ASCII 10のHtmlEncoded値)。ただし、改行文字はHTMLの改行としてレンダリングされません(下部の注を参照)。
\n
JavaScript文字列の改行文字リテラル(ASCII 10)です。
<br/>
HTMLの改行です。他の多くの要素は、例えば<p>
、<div>
いくつかのスタイルで上書きされない限り、なども改行をレンダリングします。
うまくいけば、次の図がそれをより明確にするでしょう:
T.innerText = "Position of LF: " + t.value.indexOf("\n");
p1.innerHTML = t.value;
p2.innerHTML = t.value.replace("\n", "<br/>");
p3.innerText = t.value.replace("\n", "<br/>");
<textarea id="t">Line 1 Line 2</textarea>
<p id='T'></p>
<p id='p1'></p>
<p id='p2'></p>
<p id='p3'></p>
HTMLについて注意すべきいくつかの点:
innerHTML
値はTEXTAREA
HTMLをレンダリングしません。以下を試してみ<textarea>A <a href='x'>link</a>.</textarea>
てください。P
要素は、1つの空間として(改行を含む)すべての連続した空白をレンダリングします。TEXTAREA
LFはテキストエリアボックス内の新しい行としてレンダリングします。<textarea/>
は、これが必要な投稿です。
<br/>
私が探していたもの
CSSを使用して、テキストエリアのキーワード行を改行します。
white-space: pre-wrap;
これを試してください..うまくいきます:
<textarea id="test" cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
タグの置き換え:
$("textarea#test").val(replace($("textarea#test").val(), "<br>", " ")));
text-area内に改行を入れるには、実際に改行を入れます:
<textarea cols='60' rows='8'>This is my statement one.
This is my statement2</textarea>
の\n
代わりに使用したい場合があり/n
ます。
\n
も機能しません。実際の改行である必要があります。
.replace()
他の回答に記載されているパターンを使用した私の機能が機能しませんでした。私のケースで機能したパターンは次のとおりです。
var str = "Test\n\n\Test\n\Test";
str.replace(/\r\n|\r|\n/g,' ');
// str: "Test Test Test"
T.innerText = "LFの位置:" + t.value.indexOf( "\ n");
p3.innerText = t.value.replace("\n", "");
<textarea id="t">Line 1 Line 2</textarea>
<p id='p3'></p>