1. ホーム
  2. javascript

[解決済み] JavaScript replace \n with <br /> [duplicate]

2023-01-04 08:47:43

Question

var messagetoSend = $.trim(document.getElementById("msgText").value);
messagetoSend = messagetoSend.replace("\n", "<br />");
alert(messagetoSend);

Given input:

Line 1


Line 2




Line 3

このアラートは

Line 1<br />


Line 2




Line 3

アラートを期待するとき

Line 1<br /><br /><br />Line 2<br /><br /><br /><br /><br />Line 3

どのように解決するのですか?

には /g が必要です。 グローバルマッチング

replace(/\n/g, "<br />");

これは、私の場合 \n - 参照 この回答 をお持ちでしたら \r\n

ノート ダミー のどのような組み合わせに対しても、最も完全な答えとなります。 \r\n , \r または \n

var messagetoSend = document.getElementById('x').value.replace(/\n/g, "<br />");
console.log(messagetoSend);
<textarea id="x" rows="9">
    Line 1
    
    
    Line 2
    
    
    
    
    Line 3
</textarea>

アップデイト

この質問の訪問者の中には、改行がエスケープされたテキストを

いくつかのテキスト を1行以上に分割して表示します。

この場合、スラッシュをエスケープする必要があります。

replace(/\\r\\n/g, "<br />");

注意: すべてのブラウザは \r を無視してレンダリングします。