如何在 HTML 中原样显示纯文本(保留换行但去除转义字符)

13次阅读

如何在 HTML 中原样显示纯文本(保留换行但去除转义字符)

本文介绍如何在网页中实时预览 textarea 输入的纯文本内容,既保留实际换行符(n)的视觉效果,又正确处理并移除字符串中表示换行的转义序列(如 `n`),避免将其显示为字面字符,并通过 `innerhtml` 与正则替换实现精准控制。

在 Web 开发中,常需将用户在

⚠️ 注意事项:

立即学习前端免费学习笔记(深入)”;

  • 避免直接使用 innerHTML = ... 处理用户输入(存在 XSS 风险),除非已做严格过滤;此处推荐 textContent + white-space: pre-wrap 组合,既安全又准确;
  • textContent 本身不会解析 HTML,但配合 white-space: pre-wrap 可完美保留换行、空格和自动折行;
  • 若必须支持粗体/链接等有限格式,再考虑 innerHTML + domPurify 等库净化;
  • 不要使用已废弃的 aintext>,也不建议仅依赖
    (它会强制等宽字体且不自动换行长行)。

总结:纯文本预览的核心在于「区分真实换行符与字面转义序列」,通过正则清洗 + CSS 白空间控制 + 安全 DOM 属性赋值,即可实现简洁、健壮、符合语义的呈现效果。

text=ZqhQzanResources