如何在 HTML 中原样显示文本内容(包括换行符,但忽略转义序列如 )

本文讲解如何使用 javascript 将 textarea 输入的纯文本(含真实换行)实时渲染到预览区域,同时自动过滤掉字符串中字面意义的 `\n` 转义序列,确保显示效果符合预期。

在 Web 开发中,常需实现“所见即所得”的文本预览功能,例如简易 Markdown 编辑器或代码片段展示区。但一个常见误区是:用户在

? 关键说明:

  • white-space: pre-wrap 是核心 CSS 属性:它让真实换行符(\n)生效,同时允许文本自动换行以适应容器宽度;
  • 不推荐使用
     标签包裹 previewer 并直接设 textContent——这虽能保留换行,但无法过滤字面 \n,且会破坏排版灵活性;  
  • 绝对避免直接将用户输入拼接进 innerHTML 且不做任何清洗(如未移除
  • 若需进一步增强安全性(如支持有限 HTML 标签),应使用专用库如 DOMPurify,而非手动正则替换。

通过以上方式,你就能精准控制文本渲染行为:既忠实呈现用户输入的真实结构(Enter 换行),又干净剔除干扰性的转义序列,达成真正“无格式但可读”的预览效果。