1. สินค้า
  2.   HTML
  3.   GO
  4.   HTML2Text
 
  

ไลบรารี Go ฟรีสำหรับแปลงเอกสาร HTML เป็นข้อความ

HTML2Text เป็นไลบรารี Go แบบโอเพนซอร์สที่ง่ายมาก สามารถแปลงมาร์กอัป HTML ให้เป็นข้อความธรรมดาที่อ่านง่ายในแอป Go

ในยุคดิจิทัลปัจจุบัน เนื้อหาต้องสามารถเข้าถึงได้ในหลายรูปแบบและหลายแพลตฟอร์ม HTML2Text เป็นไลบรารี Go ที่ทรงพลังซึ่งสร้างโดยเจย์ เทย์เลอร์ ซึ่งแก้ไขความท้าทายพื้นฐาน: การแปลงเนื้อหา HTML ให้เป็นข้อความธรรมดาที่อ่านง่ายและจัดรูปแบบอย่างดี เดิมทีพัฒนาเพื่อให้แน่ใจว่าอีเมล HTML สามารถอ่านได้โดยผู้รับทุกคน รวมถึงผู้ที่ใช้ไคลเอนต์ที่ปิดการใช้งาน HTML หรือมีความต้องการด้านการเข้าถึง—ไลบรารีนี้ได้พัฒนาเป็นเครื่องมืออเนกประสงค์สำหรับนักพัฒนาที่ทำงานกับการแปลงเนื้อหา

ไลบรารีนี้แปลงโครงสร้าง HTML ที่ซับซ้อน รวมถึงตาราง รายการ และลิงก์ ให้เป็นข้อความธรรมดาที่มีรูปแบบคล้าย markdown อย่างสะอาดตา พร้อมคงโครงสร้างเชิงตรรกะและความอ่านง่าย มีคุณลักษณะสำคัญหลายอย่างเป็นส่วนหนึ่งของไลบรารี เช่น การแปลง HTML เป็นข้อความอัจฉริยะ การแสดงผลตารางด้วยการจัดรูปแบบที่สวยงาม ตัวเลือกการแปลงที่ปรับแต่งได้ อินเทอร์เฟซบรรทัดคำสั่ง ฯลฯ HTML2Text ถูกเขียนด้วย Go แท้โดยไม่มีการพึ่งพาไลบรารีภายนอก ทำให้เร็วสำหรับเอกสาร HTML ปกติ ใช้หน่วยความจำน้อยด้วยการออกแบบที่รองรับการสตรีมและปลอดภัยต่อเธรดสำหรับการใช้งานพร้อมกันในเว็บเซิร์ฟเวอร์ ด้วย API ที่เรียบง่าย ตัวเลือกที่ยืดหยุ่น และประวัติการใช้งานที่พิสูจน์แล้วในโครงการหลายพันโครงการ HTML2Text สมควรเป็นส่วนหนึ่งของชุดเครื่องมือ Go ของคุณ

Previous Next

เริ่มต้นใช้งาน HTML2Text

วิธีที่แนะนำและง่ายที่สุดในการติดตั้ง HTML2Text คือการใช้ GitHub โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น

ติดตั้งไลบรารี HTML2Text ผ่าน GitHub

go get jaytaylor.com/html2text

ไลบรารีนี้ต้องการ Go 1.x หรือใหม่กว่าและไม่มีการพึ่งพาภายนอกใด ๆ ทำให้โครงการของคุณมีน้ำหนักเบา คุณยังสามารถติดตั้งด้วยตนเองได้; ดาวน์โหลดไฟล์ปล่อยล่าสุดโดยตรงจาก GitHub ที่เก็บ

การแปลง HTML เป็นข้อความพื้นฐานด้วย Go

ไลบรารี HTML2Text แบบโอเพนซอร์สทำให้ผู้พัฒนาซอฟต์แวร์สามารถโหลดและแปลงไฟล์ HTML เป็นรูปแบบข้อความภายในแอปพลิเคชัน Go ของพวกเขาได้อย่างง่ายดาย HTML2Text ไม่ได้เพียงแค่ลบแท็กเท่านั้น—มันตีความโครงสร้าง HTML อย่างชาญฉลาดเพื่อสร้างผลลัพธ์ที่อ่านง่ายโดยมีความเข้าใจเชิงความหมายของหัวเรื่อง ย่อหน้า และรายการ การรักษาลิงก์โดยแสดง URL ในวงเล็บหลังข้อความลิงก์ การทำให้ช่องว่างเป็นมาตรฐานที่คงความอ่านง่ายโดยไม่ทำให้มีการขึ้นบรรทัดใหม่เกินจำเป็น การสนับสนุนการเข้ารหัสอักขระรวมถึง UTF-8 พร้อม BOM (Byte Order Mark) นี่คือตัวอย่างเต็มของการใช้ไลบรารีที่อนุญาตให้โหลดและแปลง HTML เป็นรูปแบบข้อความภายในแอปพลิเคชัน Go

วิธีแปลงเนื้อหา HTML อย่างง่ายเป็นรูปแบบข้อความผ่านไลบรารี Go?

package main

import (
    "fmt"
    "jaytaylor.com/html2text"
)

func main() {
    html := `
        

ยินดีต้อนรับสู่บริการของเรา

ดูหน้า ฟีเจอร์ เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เรานำเสนอ.

  • การสนับสนุน 24/7
  • Free Trial
  • Enterprise Plans
` text, err := html2text.FromString(html, html2text.Options{}) if err != nil { panic(err) } fmt.Println(text) }

การแสดงตารางด้วยรูปแบบที่สวยงาม

หนึ่งในคุณลักษณะที่โดดเด่นของ HTML2Text คือความสามารถในการแสดงตาราง HTML เป็นตารางข้อความแบบ ASCII ตารางในข้อความธรรมดามักจะกลายเป็นข้อมูลที่สับสนกัน ฟีเจอร์ PrettyTables รักษาโครงสร้างตารางโดยใช้ศิลปะ ASCII ทำให้ข้อมูลเชิงตัวเลข ตารางราคา หรือแผนภูมิเปรียบเทียบอ่านได้ในทุกบริบท เหมาะอย่างยิ่งสำหรับรายงานอัตโนมัติที่ส่งทางอีเมล ผลลัพธ์ของเครื่องมือบรรทัดคำสั่ง หรือการแจ้งเตือนทาง SMS ที่โครงสร้างข้อมูลสำคัญ ตัวอย่างโค้ดต่อไปนี้แสดงว่า นักพัฒนาซอฟต์แวร์สามารถแปลงตาราง HTML เป็นตาราง ASCII ที่จัดรูปแบบได้โดยใช้คำสั่ง Go

วิธีแปลงตาราง HTML เป็นตาราง ASCII ที่จัดรูปแบบผ่าน Go?

func sendMonthlyReport(userEmail string, metricsHTML string) {
    // Convert HTML table to formatted ASCII table
    textReport, _ := html2text.FromString(metricsHTML, html2text.Options{
        PrettyTables: true, // Preserves table structure visually
    })
    
    // Even in plain text, the data remains organized:
    // +----------------+-----------+
    // | METRIC         | VALUE     |
    // +----------------+-----------+
    // | Page Views     | 24,589    |
    // | Conversion Rate| 2.4%      |
    // +----------------+-----------+
    
    sendEmail(userEmail, "Monthly Report", textReport)
}

การสร้างอีเมลสำรองผ่านไลบรารี Go

หนึ่งในกรณีการใช้งานที่พบบ่อยที่สุดสำหรับ HTML2Text คือการแปลงเทมเพลตอีเมล HTML ให้เป็นข้อความธรรมดาแบบเท็กซ์เท่านั้น ลูกค้าอีเมลมีความแตกต่างอย่างมากในความสามารถการแสดงผล HTML ผู้ใช้ที่ใส่ใจด้านความปลอดภัยบางคนปิดการใช้งาน HTML ทั้งหมด ในขณะที่ไคลเอนต์เก่าหรือโปรแกรมอ่านหน้าจอสำหรับผู้ใช้ที่มีปัญหาการมองเห็นมักทำงานได้ดีกว่ากับข้อความธรรมดา การให้ทางเลือกเป็นข้อความไม่ใช่แค่แนวปฏิบัติที่ดี—มันเป็นสิ่งจำเป็นสำหรับการเข้าถึงและการส่งมอบโดยอัตโนมัติ ด้วยการสร้างเวอร์ชันข้อความธรรมดาที่ซิงโครไนซ์โดยอัตโนมัติ คุณจะทำให้ผู้รับทุกคนสามารถอ่านเนื้อหาของคุณ ลดการกระตุ้นตัวกรองสแปม และปฏิบัติตามมาตรฐานการเข้าถึงเช่น WCAG.

วิธีสร้างข้อความตัวอักษรธรรมดาเป็นสำรองของข้อความอีเมลผ่านไลบรารี Go?

func sendTransactionalEmail(userEmail, htmlContent string) error {
    // Generate plain text fallback
    textContent, err := html2text.FromString(htmlContent, html2text.Options{})
    if err != nil {
        return fmt.Errorf("failed to create text alternative: %v", err)
    }
    
    // Send multipart email (both HTML and text)
    email := &Email{
        To: userEmail,
        HTMLBody: htmlContent,
        TextBody: textContent, // Critical for users with HTML disabled
    }
    
    return emailService.Send(email)
}

การทำงานกับลิงก์ระหว่างการแปลง HTML เป็นข้อความ

ไลบรารี HTML2Text ได้รวมการสนับสนุนเต็มรูปแบบสำหรับการจัดการลิงก์ภายในการแปลง HTML เป็นข้อความ ลิงก์มีความสำคัญเป็นพิเศษในเนื้อหา HTML และ html2text ทำให้แน่ใจว่าข้อความลิงก์และ URL ทั้งสองถูกเก็บไว้ ข้อความลิงก์จะแสดงตามปกติ ในขณะที่ URL จริงจะถูกเพิ่มในวงเล็บ เพื่อให้ผู้อ่านเวอร์ชันข้อความธรรมดายังสามารถเข้าถึงทรัพยากรที่เชื่อมโยงได้ ตัวอย่างต่อไปนี้แสดงวิธีทำเช่นนั้น

วิธีจัดการลิงก์ขณะแปลง HTML เป็นข้อความในแอป Go?

package main

import (
    "fmt"
    "log"
    
    "jaytaylor.com/html2text"
)

func main() {
    htmlContent := `
    
        
            

ตรวจสอบ แคตาล็อกสินค้า หรือเยี่ยมชม หน้าสนับสนุน.

` text, err := html2text.FromString(htmlContent) if err != nil { log.Fatal(err) } fmt.Println(text) }
 ไทย