如何将HTML转换为Markdown
- 粘贴一段HTML或上传支持的
.html文件。 - 转换源,并检查在Markdown中哪些语义元素仍然有意义。
- 转换并检查链接、图片、嵌套列表、表格和代码围栏(code fences)。
- 复制Markdown或下载
.md文件。
转换器保留哪些内容?
| 来源内容 | 推荐的输出行为 | 转换说明 |
|---|---|---|
| 标题 | 将 <h1>–<h6> 映射为 Markdown 标题 | |
| 段落和强调 | 转换段落、加粗和斜体 | |
| 列表 | 转换有序、无序和嵌套列表 | |
| 链接 | 保留文本和解析后的 URL | |
| 图片 | 保留来源和替代文本(alt) | |
| 代码 | 使用行内代码和围栏代码块 | |
| 表格 | 将兼容的表格转换为 GFM | |
| 块引用 | 转换语义块引用 |
转换过程中可能会有哪些变化?
脚本、样式和表单
可执行和交互式元素在普通Markdown中没有对应语法,可能会被省略或简化为文本。
复杂表格
跨行(rowspans)、跨列(colspans)、嵌套表格以及复杂的单元格内容可能需要原始HTML或扁平化处理。
相对URL
粘贴的片段可能不包含页面的基本URL,因此相对链接和图片路径不一定总能解析成功。
布局容器
div、网格(grid)和弹性盒(flexbox)布局并不蕴含语义阅读顺序。
隐藏和样板内容
转换器需要有针对隐藏元素、导航和视觉上折叠内容的明确处理策略。
HTML转Markdown的常见用途
迁移Web文档
将语义化的HTML移入基于Markdown的文档系统中。
清理复制的富文本
在进行版本控制或发布之前,将编辑器生成的HTML转换为更简单的格式。
准备代码示例
保留代码块和标题,而无需引入完整的页面样式表。
创建文本优先的AI上下文
移除脚本和样式,同时保留仍需审查的信息结构。
HTML转Markdown示例
<h2>Setup</h2>
<p>Read the <a href="/guide">guide</a>.</p>
<ul><li>Install</li><li>Test</li></ul>
## Setup
Read the [guide](/guide).
- Install
- Test
获得更整洁Markdown输出的技巧
- 使用语义化HTML 相比通用的布局容器,标题、列表和表格的转换更为可靠。
- 在需要时提供基本URL 如果结果需要在原始页面之外使用,相对链接需要上下文信息。
- 选择输出方言 GFM支持普通CommonMark未定义的表格和任务列表。
- 检查代码围栏 确认检测到的编程语言以及任何嵌入的反引号。
- 决定原始HTML兜底方案 保留不支持的HTML虽然可以保留信息,但会降低可移植性。
常见问题
<script> 和 <style> 元素会被移除吗?
脚本和样式不是有用的Markdown内容,在转换结果中不应依赖它们。 在重新使用输出之前,请检查粘贴的HTML。
HTML表格会被转换为Markdown表格吗?
兼容的矩形表格可以转换为GFM表格。 带有 rowspan、colspan、嵌套块或多个表头行的表格需要有记录的兜底方案。
代码块和行内代码会保留吗?
它们可以从 <pre> 和 <code> 进行映射。
链接和图片会怎么样?
有效的链接文本和目标地址可能会被保留。 相对链接和图片路径仍然依赖于上下文,因为上传的片段没有保证的基本URL。
不支持的HTML标签会被移除还是保留?
仅用于展示的包装标签可能会被简化,同时保留可读文本。 当自定义元素带有意义时,请将输出与源文件进行对比。
转换器输出的是CommonMark还是GFM?
预期的输出是GitHub风格的Markdown(GFM)。 表格、删除线和任务列表依赖于GFM扩展。
我可以粘贴整个HTML文档吗?
可以。 您可以粘贴一个片段或上传 .html 或 .htm 文件,然后查看生成的Markdown。
此页面可以转换在线网站的URL吗?
不可以。 此页面只接受粘贴的HTML或上传的HTML文件,不会抓取在线网站URL。
将Markdown转换回 PDF
已经有Markdown文件了吗?使用Markdown转PDF转换器来创建可分享的PDF。