这是因为 Markdown 中 _
有特殊含义 ——它用于表示 斜体。
所以,当 HTML 转换为 Markdown 时,转换器(如 pandoc
、markdown-it
、turndown
等库)会自动把普通文本里的下划线 _
转义为 \_
,以避免它被 Markdown 渲染器误解析为斜体标记。
举个例子:
如果不转义:
hello_world
在某些 Markdown 渲染器中可能会显示成 hello*world(把 _w
当成了斜体起始)。
如果转义:
hello\_world
就会正确显示为 hello_world
。
🔑 总结:
HTML → Markdown 转换时出现 _
→ \_
的原因,是因为转换器需要 保留字面意义的下划线,避免 Markdown 语法冲突。