1. Produk
  2.   HTML
  3.   GO
  4.   HTML2Text
 
  

Perpustakaan Go Percuma untuk Menukar Dokumen HTML ke Teks

HTML2Text ialah Perpustakaan Go Sumber Terbuka yang Sangat Ringkas yang Boleh Menukar Penanda HTML menjadi Teks Biasa yang Boleh Dibaca Manusia dalam Aplikasi Go.

Dalam landskap digital masa kini, kandungan perlu dapat diakses merentasi pelbagai format dan platform. HTML2Text adalah perpustakaan Go yang kuat yang dicipta oleh Jay Taylor yang menyelesaikan cabaran asas: menukar kandungan HTML kepada teks biasa yang boleh dibaca dan berformat baik. Pada asalnya dibangunkan untuk memastikan e-mel HTML tetap boleh dibaca oleh semua penerima—termasuk mereka yang menggunakan klien tanpa HTML atau mempunyai keperluan kebolehcapaian—perpustakaan ini telah berkembang menjadi alat serbaguna untuk pemaju yang bekerja dengan penukaran kandungan.

Pustaka ini menukar struktur HTML yang kompleks, termasuk jadual, senarai, dan pautan, menjadi teks biasa bersifat markdown yang bersih sambil mengekalkan struktur logik dan kebolehbacaan. Terdapat beberapa ciri penting dalam pustaka ini, seperti penukaran HTML-ke-Teks yang Pintar, rendering jadual dengan format yang cantik, pilihan penukaran yang boleh disesuaikan, Antara Muka Baris Perintah, dan sebagainya. HTML2Text ditulis dalam Go tulen tanpa kebergantungan luaran, menjadikannya cepat untuk dokumen HTML biasa, cekap memori dengan reka bentuk mesra penstriman dan selamat benang untuk penggunaan serentak dalam pelayan web. Dengan API yang mudah, pilihan yang fleksibel, dan rekod prestasi terbukti dalam ribuan projek, HTML2Text layak mendapat tempat dalam kit alat Go anda.

Previous Next

Mula Menggunakan HTML2Text

Kaedah yang disyorkan dan paling mudah untuk memasang HTML2Text ialah menggunakan GitHub. Sila gunakan perintah berikut untuk pemasangan yang lancar.

Pasang Perpustakaan HTML2Text melalui GitHub

go get jaytaylor.com/html2text

Perpustakaan ini memerlukan Go 1.x atau lebih baru dan tidak mempunyai kebergantungan luaran, menjadikan projek anda ringan. Anda juga boleh memasangnya secara manual; muat turun fail pelepasan terkini terus dari GitHub repositori.

Penukaran Asas HTML ke Teks melalui Go

Perpustakaan sumber terbuka HTML2Text memudahkan pembangun perisian memuat dan menukar fail HTML kepada format teks dalam aplikasi Go mereka. HTML2Text tidak hanya menghilangkan tag—ia secara bijak mentafsir struktur HTML untuk menghasilkan output yang boleh dibaca manusia dengan pemahaman Semantik terhadap tajuk, perenggan, dan senarai, pemeliharaan pautan dengan URL dipaparkan dalam kurungan selepas teks pautan, normalisasi ruang putih yang mengekalkan kebolehbacaan tanpa baris baru yang berlebihan, sokongan pengekodan aksara termasuk UTF-8 dengan BOM (Byte Order Mark). Berikut ialah contoh lengkap penggunaan perpustakaan yang membolehkan memuat dan menukar HTML kepada format teks dalam aplikasi Go.

Bagaimana Menukar Kandungan HTML Ringkas kepada Format Teks melalui Perpustakaan Go?

package main

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

func main() {
    html := `
        

Selamat Datang ke Perkhidmatan Kami

Lihat halaman ciri untuk maklumat lanjut tentang apa yang kami tawarkan.

  • Sokongan 24/7
  • Percubaan Percuma
  • Pelan Perusahaan
` text, err := html2text.FromString(html, html2text.Options{}) if err != nil { panic(err) } fmt.Println(text) }

Paparan Jadual dengan Pemformatan Cantik

Salah satu ciri menonjol HTML2Text ialah keupayaannya untuk memaparkan jadual HTML sebagai jadual teks berasaskan ASCII. Jadual dalam teks biasa biasanya menjadi sup data yang bersepah. Ciri PrettyTables mengekalkan struktur tabular menggunakan seni ASCII, menjadikan data numerik, jadual harga, atau carta perbandingan dapat dibaca dalam apa jua konteks. Ia sesuai untuk laporan automatik yang dihantar melalui e-mel, output alat baris perintah, atau notifikasi SMS di mana struktur data penting. Contoh kod berikut menunjukkan bagaimana pemaju perisian boleh menukar jadual HTML kepada jadual ASCII yang diformat menggunakan arahan Go.

Bagaimana Menukar Jadual HTML kepada Jadual ASCII Berformat melalui 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)
}

Penjanaan Sokongan E-mel melalui Perpustakaan Go

Salah satu kegunaan paling umum untuk HTML2Text ialah menukar templat e-mel HTML kepada setara teks biasa mereka. Klien e-mel berbeza-beza dalam keupayaan rendering HTML mereka. Sesetengah pengguna yang mementingkan keselamatan mematikan HTML sepenuhnya, manakala klien lama atau pembaca skrin untuk pengguna yang mempunyai kecacatan penglihatan sering berfungsi lebih baik dengan teks biasa. Menyediakan alternatif teks bukan sekadar amalan baik—ia penting untuk kebolehcapaian dan penghantaran. Dengan menjana versi teks biasa yang diselaraskan secara automatik, anda memastikan setiap penerima dapat membaca kandungan anda, mengurangkan pencetus penapis spam, dan mematuhi piawaian kebolehcapaian seperti WCAG.

Bagaimana Menjana Teks Biasa sebagai Sandaran bagi Mesej E-mel melalui Perpustakaan 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)
}

Bekerja dengan Pautan semasa Penukaran HTML ke Teks

Pustaka HTML2Text telah menyertakan sokongan lengkap untuk mengendalikan pautan dalam penukaran HTML kepada teks. Pautan sangat penting dalam kandungan HTML, dan html2text memastikan kedua-dua teks pautan dan URL dipelihara. Teks pautan dipaparkan secara normal, manakala URL sebenar ditambahkan dalam kurungan, memastikan pembaca versi teks biasa masih dapat mengakses sumber yang dipautkan. Contoh berikut menunjukkan cara untuk mencapainya.

Bagaimana Mengurus Pautan Semasa Menukar HTML kepada Teks dalam Aplikasi Go?

package main

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

func main() {
    htmlContent := `
    
        
            

Lihat katalog produk kami katalog produk atau lawati halaman sokongan.

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