将\ n转换为<br/>

时间:2018-04-20 08:06:19

标签: javascript html

我在将\ n转换为&lt; br /&gt;

function format() {
  var text = document.getElementById("formatArea").value;
  text.replace("\n", "<br/>");
  document.getElementById("resultArea").value = text;
}
<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>

感谢任何帮助,我对JS的经验不足。

3 个答案:

答案 0 :(得分: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;
}

正则表达式上的g(&#34; global&#34;)标志用于匹配所有出现的事件。

答案 1 :(得分:0)

替换所有是我开始学习JavaScript时我不明白的事情!

TL; DR JavaScript中没有library("corrplot") dataset1 <- read.csv("winequality-white.csv",header=T) # Below is the keypoint! cor_dataset1 <- cor(datset1) corrplot(cor_dataset1, type ="upper", order="hclust") 功能。但replaceAll接受了一些名为正则表达式的内容。

要用字符串中的replace替换所有foo s,您必须bar.replace(/foo/g, "bar")将匹配所有/foo/g,并将其替换为bar。 "foo"被称为 flag ,它意味着全球,这意味着您将它们全部匹配。

如果您要替换g,则必须执行\n,就像我们为.replace(/\n/g, "<br/>")所做的那样:

foo

此外,您必须新字符串分配给旧字符串,因为text = text.replace(/\n/g, "<br/>") 不会修改原始变量值:

&#13;
&#13;
replace
&#13;
function format() {
  var text = document.getElementById("formatArea").value;
  text = text.replace(/\n/g, "<br/>");
  document.getElementById("resultArea").value = text;
}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用/\n/g进行全局替换,您也错过了text本身中已更改的text值的分配,因此替换的文本未生效。您需要分配替换值,如text = text.replace(/\n/g, "<br/>");

&#13;
&#13;
function format() {
    var text = document.getElementById("formatArea").value;
    text = text.replace(/\n/g, "<br/>");
    document.getElementById("resultArea").value = text;
}
&#13;
asd
&#13;
<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>
&#13;
&#13;
&#13;