ข้ามไปยังเนื้อหาหลัก

แปลง HTML เป็น Markdown ฟรี

แปลง HTML เป็น Markdown ที่สะอาด จัดการหัวเรื่อง รายการ ลิงก์ รูปภาพ บล็อกโค้ด ตาราง และ blockquote เหมาะสำหรับย้ายเนื้อหาออกจาก CMS

ใช้งานได้แบบออฟไลน์เมื่อโหลดแล้ว

วาง HTML ทางซ้าย; Markdown ที่สะอาดจะปรากฏทางขวา Markdown เรียบง่ายกว่า HTML ดังนั้นสไตล์, สคริปต์ และตารางซับซ้อนจะถูกทำให้เรียบง่ายหรือตัดออก

เคล็ดลับ: วางข้อความที่มีรูปแบบคัดลอกมาจากหน้าเว็บ Word หรือ Google Docs - HTML จะถูกจับโดยอัตโนมัติ

เอาต์พุต Markdown
เอาต์พุต Markdown จะปรากฏที่นี่…

การใช้งานทั่วไป

  • ย้ายเนื้อหาบล็อกไปยัง Markdownแปลงโพสต์ WordPress, Medium หรือ CMS อื่นๆ เก่า ๆ ไปยัง Markdown สำหรับตัวสร้างเว็บไซต์แบบคงที่
  • แปลงเนื้อหาอีเมลไปยัง Markdownดึงข้อความจากอีเมล HTML หรือบทความเว็บ และแปลงเป็น Markdown สำหรับแอปจดบันทึก
  • แปลงเอกสาร HTML เป็น Markdownย้ายเอกสาร HTML เลิกใช้เก่า ๆ ไปยังระบบเอกสาร Markdown (Docusaurus, GitBook, MkDocs)
  • การเก็บความเรียบร้อยการส่งออก CMSเก็บความเรียบร้อย HTML ที่ยุ่งเหยิงที่ส่งออกจาก CMS และแปลงเป็น Markdown ที่เป็นมิตรกับการควบคุมเวอร์ชัน
  • เตรียมเนื้อหา HTML สำหรับพรอมต์ LLMแปลงเนื้อหา HTML เป็น Markdown ที่ดีสำหรับใช้ในพรอมต์ ChatGPT, Claude หรือ LLM อื่นๆ

วิธีการทำงาน

ตัวแปลงนี้สร้างรอบไปป์ไลน์ regex ที่เขียนขึ้นเองโดยไม่พึ่งพาสิ่งใด — ไม่มีการนำเข้าไลบรารีภายนอก การแปลงทั้งหมดทำงานในเบราว์เซอร์ผ่านการเรียก React useMemo อัปเดตผลลัพธ์สดขณะพิมพ์

  1. 1
    การตรวจจับการวางดักข้อความแบบมีรูปแบบ
    ตัวจัดการ ClipboardEvent อ่านข้อมูลแบบ text/html จากคลิปบอร์ดก่อนที่เบราว์เซอร์จะวางเป็นข้อความธรรมดา หมายความว่าการวางจากหน้าเว็บ Google Docs หรือ Word โดยตรงจะจับมาร์กอัป HTML ดิบโดยอัตโนมัติ — ไม่ต้องดูซอร์สก่อน
  2. 2
    ไปป์ไลน์ regex หลายรอบตัดและแปลงแท็ก
    ตัวแปลงรัน regex หลายรอบตามลำดับที่เข้มงวด: ลบ <head>, <script>, <style> และคอมเมนต์ HTML ก่อน แล้วซ่อนบล็อกโค้ดไว้หลังตัวแทนแบบ null-byte เพื่อไม่ให้รอบถัดไปทำลายเนื้อหาโค้ด รอบต่อ ๆ ไปจัดการหัวเรื่อง (h1–h6) blockquote ภาพ ลิงก์ ตัวหนา/ตัวเอียง/ขีดฆ่า รายการแบบมีลำดับและไม่มีลำดับ และตาราง GFM แบบไปป์พื้นฐาน — แต่ละรอบเจาะจงกลุ่มแท็กเฉพาะ
  3. 3
    ถอดรหัส entity และทำช่องว่างให้เป็นมาตรฐาน
    หลังตัดแท็กทั้งหมด ฟังก์ชัน decodeEntities เฉพาะจะแปลง named entity (&amp;, &lt; ฯลฯ) รวมถึงการอ้างอิงอักขระแบบทศนิยมและฐานสิบหก (&#39;, &#x27;) ด้วย String.fromCodePoint code point ที่ผิดรูปแบบหรือนอกช่วงถูกแทนด้วยอักขระแทนที่ของ Unicode แทนการแจ้งข้อผิดพลาด จากนั้นช่องว่างท้ายบรรทัด บรรทัดว่างต่อเนื่อง และช่องว่างส่วนเกินถูกทำให้เป็นมาตรฐาน
  4. 4
    คืนค่าส่วนโค้ดที่ป้องกันไว้
    ระบบตัวแทน (ดัชนีที่คั่นด้วย null-byte) ถูกคลายเป็นขั้นสุดท้าย หลังการตัด การถอดรหัส และการยุบช่องว่างเสร็จสิ้น เพื่อป้องกันไม่ให้ลำดับ entity ในโค้ดถูกถอดรหัสสองครั้ง — บั๊กถอดรหัสซ้ำที่พบบ่อยในตัวแปลง HTML เป็น Markdown แบบง่าย

เครื่องมือที่เกี่ยวข้อง

คำถามที่พบบ่อย