许虎虎 开发者工具集
HTML 转 Markdown

HTML 转 Markdown 是将 HTML 格式的内容转换为 Markdown 格式的过程。Markdown 是一种轻量级的标记语言,广泛用于格式化文本,如 README 文件、博客文章等。它相比于 HTML 更简洁,并且易于阅读和编写。

1. HTML 转 Markdown 示例
假设你有如下的 HTML 内容:

html

<h1>Welcome to My Website</h1>
<p>This is a <b>paragraph</b> with some <i>italic</i> text and <u>underlined</u> text.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
你希望将其转换为以下 Markdown 格式:

markdown

# Welcome to My Website

This is a **paragraph** with some *italic* text and __underlined__ text.

- Item 1
- Item 2
- Item 3

手动实现(正则表达式)
如果你不想依赖外部库,可以手动实现 HTML 到 Markdown 的转换。以下是一些常见 HTML 标签及其对应的 Markdown 转换规则:

<h1> 到 <h6> 标签:转为 # 到 ###### 的标题。
<b> 和 <strong>:转为 ** 来表示加粗文本。
<i> 和 <em>:转为 * 来表示斜体文本。
<u>:由于 Markdown 本身不支持下划线,可以用 __ 来表示强调。
<ul> 和 <ol>:分别转换为无序列表和有序列表。
<a>:转为 [链接文本](URL)。
使用正则表达式,你可以编写一个简单的 Python 函数来执行这些替换(如前面的 JavaScript 示例所示)。

3. 总结
HTML 转 Markdown 是将 HTML 内容(包括标题、段落、列表、链接等)转换为 Markdown 格式的过程。
前端实现(JavaScript):使用正则表达式处理 HTML 标签,转换为对应的 Markdown 语法。
后端实现(Python):使用库如 markdownify 可以轻松地实现 HTML 到 Markdown 的转换。
手动实现:通过正则表达式,你可以为常见的 HTML 标签编写替换规则来实现转换。