将\n转换为<br/>

ITG*_*uru -1 html javascript

我在将\n转换为<br />时遇到问题

function format() {
  var text = document.getElementById("formatArea").value;
  text.replace("\n", "<br/>");
  document.getElementById("resultArea").value = text;
}
Run Code Online (Sandbox Code Playgroud)
<textarea rows="20" cols="80" id="formatArea">
</textarea>


<textarea rows="20" cols="80" id="resultArea">
</textarea>

<button onclick="format()">Click to create HTML breaks</button>
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助,我在JS方面还不是很有经验.

Seb*_*lor 5

你有2个问题.

首先,replace不更改原始字符串,它返回修改后的字符串.(文档链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)

其次,如果你把一个字符串放在replace的第一个参数中,它只会替换第一个出现的.如果要全部替换它们,请使用正则表达式.

所以你应该这样:

function format() {
  var text = document.getElementById("formatArea").value;
  text = text.replace(/\n/g, "<br/>");
  document.getElementById("resultArea").value = text;
}
Run Code Online (Sandbox Code Playgroud)

g正则表达式上的("全局")标志用于匹配所有出现的情况.