2 回答
TA贡献1798条经验 获得超3个赞
您可以简单地将它们替换为反斜杠()和字面上的字符。\
n
要在文字中创建 ,请用自身转义它,即 .\
\\
所以
$('#textarea').val().replace(/\n/g, '\\n')
TA贡献1831条经验 获得超9个赞
模板文字语法允许字符串使用 ' 反引号作为容器跨越多行,这应该可以避免您的问题。我仍然建议转义字符串和/或不要混合服务器端模板代码和JavaScript代码,特别是不要将表单数据逐字嵌入为JS代码。您至少可以使用或类似的东西对其进行序列化。json_encode
您还可以使用表单数据,然后使用它。JSON.stringifyJSON.parse
let val = `My
test
is
here`;
get_text(`My
text
is
here`);
你错过了帕伦斯,你没有使用正确的。它采用字符串,而不是布尔比较,如果匹配,则返回布尔值。
另外,如果你想要换行符,你应该使用。在 a 中放置换行符只会崩溃。它不会在呈现的输出中插入换行符。除非您使用某种CSS样式,例如为您执行换行符的浮点换行符。.test<br><span>
function get_text(val) {
let n = /[\n]/;
let i;
let inner = [];
for (let i = 0; i < val.length; i++) {
inner.push('<span>' + val[i] + '</span>');
if (n.test(val[i])) {
inner.push('<span class="newline">' + val[i] + '</span>');
}
}
return inner.join("");
}
console.log(
content.innerHTML = get_text(`My
text
is
here`)
)
.newline::after {
content: '\\n'
}
<div id="content"></div>
添加回答
举报