2 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以簡(jiǎn)單地將它們替換為反斜杠()和字面上的字符。\
n
要在文字中創(chuàng)建 ,請(qǐng)用自身轉(zhuǎn)義它,即 .\
\\
所以
$('#textarea').val().replace(/\n/g, '\\n')

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
模板文字語(yǔ)法允許字符串使用 ' 反引號(hào)作為容器跨越多行,這應(yīng)該可以避免您的問(wèn)題。我仍然建議轉(zhuǎn)義字符串和/或不要混合服務(wù)器端模板代碼和JavaScript代碼,特別是不要將表單數(shù)據(jù)逐字嵌入為JS代碼。您至少可以使用或類(lèi)似的東西對(duì)其進(jìn)行序列化。json_encode
您還可以使用表單數(shù)據(jù),然后使用它。JSON.stringifyJSON.parse
let val = `My
test
is
here`;
get_text(`My
text
is
here`);
你錯(cuò)過(guò)了帕倫斯,你沒(méi)有使用正確的。它采用字符串,而不是布爾比較,如果匹配,則返回布爾值。
另外,如果你想要換行符,你應(yīng)該使用。在 a 中放置換行符只會(huì)崩潰。它不會(huì)在呈現(xiàn)的輸出中插入換行符。除非您使用某種CSS樣式,例如為您執(zhí)行換行符的浮點(diǎn)換行符。.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>
添加回答
舉報(bào)