【发布时间】:2020-07-25 11:38:49
【问题描述】:
Javascript 的字符串有一些转义序列,包括\b, \f, \n, \r, \t, \v, \0, \', \", \\。是否有任何内置函数可以将字符串中的所有出现转换为 HTML 等价物(\n 到 <br>、\t 到 &nbsp 等)所以我可以像这样使用它$('body').append('<div class="testing">' + escaped_string + '</div>'); 和显示正确吗?
我到处搜索,人们似乎只关心\n 和\t,因此所有答案都建议为此使用替换,但我想避免手动转换每个答案。
谢谢
编辑:我正在从输入中读取字符串并且不记得转义序列将被视为文字,这就是为什么它在渲染时没有被正确表示。我设法在读取字符串上使用JSON.parse 并在输出CSS 中使用white-space: pre-wrap; 来逃避它。
【问题讨论】:
-
CSS:
white-space: pre-wrap;. -
@NiettheDarkAbsol 无法达到预期目的,转义序列仍被解释为文字
-
转义序列仍然被解释为文字你是什么意思?你看到输出中显示了 slash t slash n 吗?
-
@james 有趣的一个。我的意思是我看到了
example \n example2 -
在这种情况下,您的字符串中有文字字符而不是转义序列。
标签: javascript html jquery dom