<textarea cols='60' rows='8'>This is my statement one.\n This is my statement2</textarea>
<textarea cols='60' rows='8'>This is my statement one.<br/> This is my statement2</textarea>
我尝试了两种,但在渲染html文件时新行没有反映出来。我怎样才能做到这一点?
试试这个:
<textarea cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
qazxsw poi Line Feed和qazxsw poi回程是qazxsw poi。这样,您实际上是在解析新行(“\ n”)而不是将其显示为文本。
我使用其他答案中描述的模式的/n
function不起作用。适合我案例的模式是:
export function ReplaceNewline(input: string) {
var newline = String.fromCharCode(13, 10);
return ReplaceAll(input, "<br>", newline.toString());
}
export function ReplaceAll(str, find, replace) {
return str.replace(new RegExp(find, 'g'), replace);
}
T.innerText =“LF的位置:”+ t.value.indexOf(“\ n”);
white-space: pre-wrap;
只需使用.replace()
例如:
var str = "Test\n\n\Test\n\Test";
str.replace(/\r\n|\r|\n/g,' ');
// str: "Test Test Test"
结果: blablablabla kakakakakak 道歉
小提琴显示它的工作原理:
。
如果你真的希望它在源文件中的一行上,你可以插入换行符和回车符的HTML字符引用,如@Bakudan的回答所示:
我发现使用视图引擎时<textarea cols='60' rows='8'>This is my statement one.
This is my statement2</textarea>
很有用。 http://jsfiddle.net/trott/5vu28/
这将创建一个包含实际换行符的字符串,因此强制视图引擎输出换行符而不是转义版本。例如:使用NodeJS EJS视图引擎 - 这是一个简单的示例,其中应该替换任何\ n:
viewHelper.js
<textarea cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
EJS
String.fromCharCode(13, 10)
呈现
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
全部替换:
exports.replaceNewline = function(input) {
var newline = String.fromCharCode(13, 10);
return input.replaceAll('\\n', newline);
}
我认为你混淆了不同语言的语法。
<textarea><%- viewHelper.replaceNewline("Blah\nblah\nblah") %></textarea>
是(ASCII 10的HtmlEncoded值或)HTML字符串中的换行符字符。但换行符不会呈现为HTML中的换行符(请参阅底部的注释)。<textarea>Blah
blah
blah</textarea>
是Javascript字符串中的换行字符文字(ASCII 10)。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;
};
是HTML中的换行符。许多其他元素,例如
,\n
等也会渲染换行符,除非被某些样式覆盖。希望以下<br/>
将更清楚:
<p>
<div>
关于Html的几点注意事项:
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/>");
值不会呈现Html。尝试以下方法:<textarea id="t">Line 1 Line 2</textarea>
<p id='T'></p>
<p id='p1'></p>
<p id='p2'></p>
<p id='p3'></p>
看。innerHTML
元素将所有连续的空格(包括新行)渲染为一个空格。TEXTAREA
将LF作为文本区域框内的新行。试试这个..它有效:
<textarea>A <a href='x'>link</a>.</textarea>
替换为 标签:
P
要在文本区域内获取新行,请在其中放置实际的换行符:
TEXTAREA
您可能想要使用<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>", " ")));
。
经过大量的测试,以下代码在Typescript中为我工作
<textarea cols='60' rows='8'>This is my statement one.
This is my statement2</textarea>
使用CSS在Textarea中输入关键字行:
\n