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

Bibliotecă Go gratuită pentru convertirea documentelor HTML în text

HTML2Text este o bibliotecă Go open-source foarte simplă care poate transforma markup-ul HTML în text simplu, ușor de citit, în aplicațiile Go.

În peisajul digital de astăzi, conținutul trebuie să fie accesibil pe multiple formate și platforme. HTML2Text este o bibliotecă Go puternică, creată de Jay Taylor, care rezolvă o provocare fundamentală: conversia conținutului HTML în text simplu, lizibil și bine formatat. Inițial dezvoltată pentru a asigura că e‑mailurile în HTML rămân lizibile pentru toți destinatarii — inclusiv pentru cei cu clienți care dezactivează HTML sau cu nevoi de accesibilitate — această bibliotecă a evoluat într-un instrument versatil pentru dezvoltatorii care lucrează cu transformarea conținutului.

Biblioteca transformă structuri HTML complexe, inclusiv tabele, liste și linkuri, în text simplu, cu stil markdown, păstrând structura logică și lizibilitatea. Există mai multe caracteristici importante ale bibliotecii, cum ar fi conversia inteligentă HTML-la-Text, redarea tabelelor cu formatare frumoasă, opțiuni de conversie personalizabile, interfață în linia de comandă și altele. HTML2Text este scris în Go pur, fără dependențe externe, făcându-l rapid pentru documente HTML tipice, eficient din punct de vedere al memoriei datorită designului prietenos cu streamingul și thread‑safe pentru utilizare concurentă în servere web. Cu API‑ul său simplu, opțiuni flexibile și un istoric dovedit în mii de proiecte, HTML2Text merită un loc în trusa ta de instrumente Go.

Previous Next

Începeți cu HTML2Text

Cea mai recomandată și cea mai ușoară metodă de a instala HTML2Text este prin GitHub. Vă rugăm să utilizați comanda următoare pentru o instalare fără probleme.

Instalați biblioteca HTML2Text prin GitHub

go get jaytaylor.com/html2text

Biblioteca necesită Go 1.x sau o versiune mai nouă și nu are dependențe externe, menținând proiectul ușor. De asemenea, poți să o instalezi manual; descarcă cele mai recente fișiere de lansare direct de pe depozitul GitHub.

Conversie de bază HTML în text prin Go

Biblioteca open source HTML2Text facilitează dezvoltatorilor de software încărcarea și conversia fișierelor HTML în format text în cadrul aplicațiilor lor Go. HTML2Text nu se limitează la eliminarea etichetelor — interpretează inteligent structura HTML pentru a produce un rezultat ușor de citit, cu înțelegere semantică a titlurilor, paragrafelor și listelor, păstrarea linkurilor cu URL-urile afișate între paranteze după textul linkului, normalizarea spațiilor albe care menține lizibilitatea fără întreruperi excesive de linie, suport pentru codificarea caracterelor inclusiv UTF-8 cu BOM (Byte Order Mark). Iată un exemplu complet de utilizare a bibliotecii care permite încărcarea și conversia HTML în format text în aplicații Go.

Cum să convertiți conținut HTML simplu în format text prin biblioteca Go?

package main

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

func main() {
    html := `
        

Bine ați venit la serviciul nostru

Consultați pagina noastră de funcționalități pentru mai multe informații despre ceea ce oferim.

  • Suport 24/7
  • Probă gratuită
  • Planuri pentru întreprinderi
` text, err := html2text.FromString(html, html2text.Options{}) if err != nil { panic(err) } fmt.Println(text) }

Redarea tabelelor cu formatare frumoasă

Una dintre caracteristicile remarcabile ale HTML2Text este capacitatea sa de a reda tabelele HTML ca tabele text bazate pe ASCII. Tabelele în text simplu devin de obicei un amestec dezordonat de date. Funcția PrettyTables păstrează structura tabelară utilizând artă ASCII, făcând datele numerice, tabelele de prețuri sau graficele comparative ușor de citit în orice context. Acestea sunt perfecte pentru rapoarte automate trimise prin e‑mail, ieșiri ale instrumentelor din linia de comandă sau notificări SMS în care structura datelor contează. Exemplul de cod de mai jos arată cum dezvoltatorii pot converti un tabel HTML într-un tabel ASCII formatat utilizând comenzile Go.

Cum să convertiți un tabel HTML într-un tabel ASCII formatat prin 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)
}

Generarea fallback-ului de email prin biblioteca Go

Unul dintre cele mai comune cazuri de utilizare pentru HTML2Text este convertirea șabloanelor de email HTML în echivalentele lor în text simplu. Clienții de email variază foarte mult în capacitățile lor de redare HTML. Unii utilizatori preocupați de securitate dezactivează complet HTML, în timp ce clienții mai vechi sau cititoarele de ecran pentru utilizatorii cu deficiențe de vedere funcționează adesea mai bine cu text simplu. Furnizarea unei alternative text nu este doar o practică bună—este esențială pentru accesibilitate și livrabilitate. Prin generarea automată a versiunilor de text simplu sincronizate, asigurați că fiecare destinatar poate citi conținutul dvs., reduceți declanșatorii filtrelor de spam și respectați standardele de accesibilitate precum WCAG.

Cum să generați o versiune de rezervă în text simplu a unui mesaj de e‑mail prin biblioteca 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)
}

Lucrul cu linkuri în timpul conversiei HTML în text

Biblioteca HTML2Text a inclus suport complet pentru gestionarea linkurilor în conversia din HTML în text. Linkurile sunt deosebit de importante în conținutul HTML, iar html2text se asigură că atât textul linkului, cât și URL-ul sunt păstrate. Textul linkului este afișat în mod normal, în timp ce URL-ul real este adăugat între paranteze, asigurând că cititorii versiunii în text simplu pot accesa în continuare resursele legate. Exemplul următor demonstrează cum se realizează acest lucru.

Cum să gestionați linkurile în timpul conversiei HTML în text în aplicațiile Go?

package main

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

func main() {
    htmlContent := `
    
        
            

Consultați catalogul de produse sau vizitați pagina de suport.

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