LibraTool logoLibraTool

免費HTML 轉 Markdown 轉換器

將 HTML 轉為乾淨的 Markdown。處理標題、列表、連結、圖片、程式碼區塊、表格和引用塊。非常適合從 CMS 匯出內容。

載入後可離線使用

在左側貼上 HTML,右側將顯示整潔的 Markdown。Markdown 比 HTML 更簡單,樣式、指令碼和複雜表格將被簡化或省略。

提示:貼上從網頁、Word 或 Google Docs 複製的富文字 - 其 HTML 會自動捕獲。

Markdown 輸出
Markdown 輸出將顯示在此處…

工作原理

此轉換器圍繞手寫的零依賴正則流水線建立——不匯入任何第三方庫。整個轉換透過 React useMemo 呼叫在你的瀏覽器中執行,輸入時即時更新輸出。

  1. 1
    貼上檢測截獲富文字
    ClipboardEvent 處理常式會在瀏覽器貼上純文字之前從剪貼簿讀取 text/html 格式。這意味著直接從網頁、Google Docs 或 Word 貼上時會自動取得原始 HTML 標記——無需先檢視原始碼。
  2. 2
    多輪正則流水線去除並轉換標籤
    轉換器按嚴格順序執行多輪正則:先移除 <head>、<script>、<style> 和 HTML 註解,然後將圍欄程式碼區塊暫存到空位元組佔位符後面,防止後續處理破壞程式碼內容。之後的各輪分別處理標題(h1–h6)、引用塊、圖片、連結、粗體/斜體/刪除線、有序和無序列表以及基本的 GFM 管道表格——每一輪針對一類特定標籤。
  3. 3
    實體解碼與空白規範化
    所有標籤去除後,專門的 decodeEntities 函式使用 String.fromCodePoint 解析命名實體(&amp;、&lt; 等)以及十進位制和十六進位制數字字元引用(&#39;、&#x27;)。格式錯誤或超出範圍的碼點會被替換為 Unicode 替換字元,而不是丟擲錯誤。然後規範化行尾空格、連續空行和多餘空白。
  4. 4
    恢復受保護的程式碼片段
    佔位符系統(以空位元組分隔的索引)在去除標籤、解碼和摺疊空白完成之後最後展開。這可以防止程式碼字面量中的實體序列被解碼兩次——這是簡單的 HTML 轉 Markdown 轉換器中常見的雙重解碼錯誤。

相關工具

常見問題