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

Nemokama Go biblioteka HTML dokumentų konvertavimui į tekstą

HTML2Text yra labai paprasta atviro kodo Go biblioteka, kuri gali paversti HTML žymėjimą į žmonėms skaitomą paprastą tekstą Go programose.

Šiandieninėje skaitmeninėje aplinkoje turinys turi būti prieinamas įvairiais formatais ir platformomis. HTML2Text yra galinga Go biblioteka, sukurta Jay Taylor, kuri sprendžia pagrindinę problemą – HTML turinio konvertavimą į skaitomą, gerai suformatuotą paprastą tekstą. Iš pradžių ji buvo sukurta tam, kad HTML el. laiškai liktų skaitomi visiems gavėjams – įskaitant tuos, kurie naudoja klientus be HTML arba turi prieinamumo poreikių – ši biblioteka išsivystė į universalų įrankį kūrėjams, dirbantiems su turinio transformacija.

Biblioteka paverčia sudėtingas HTML struktūras, įskaitant lenteles, sąrašus ir nuorodas, į švarų, „markdown“ skoniu praturtintą paprastą tekstą, išlaikydama loginę struktūrą ir skaitomumą. Bibliotekoje yra keli svarbūs bruožai, tokie kaip protingas HTML‑į‑tekstą konvertavimas, lentelių atvaizdavimas su gražiu formatavimu, pritaikomi konvertavimo parametrai, komandų eilutės sąsaja ir pan. HTML2Text parašyta grynoje Go kalboje be išorinių priklausomybių, todėl ji yra greita tipiniams HTML dokumentams, atminties efektyvi su srautinio perdavimo draugišku dizainu ir gija‑saugiai naudojama lygiagrečiai web serveriuose. Su paprasta API, lankstomais parametrais ir įrodyta sėkme tūkstančiuose projektų, HTML2Text nusipelno vietos jūsų Go įrankių rinkinyje.

Previous Next

Pradžia su HTML2Text

Rekomenduojamas ir paprasčiausias būdas įdiegti HTML2Text yra naudojant GitHub. Prašome naudoti šią komandą sklandžiam įdiegimui.

Įdiekite HTML2Text biblioteką per GitHub

go get jaytaylor.com/html2text

Biblioteka reikalauja Go 1.x arba naujesnės versijos ir neturi išorinių priklausomybių, todėl jūsų projektas lieka lengvas. Taip pat galite ją įdiegti rankiniu būdu; atsisiųskite naujausius leidimo failus tiesiogiai iš GitHub saugyklos.

Paprastas HTML į tekstą konvertavimas naudojant Go

Atviro kodo HTML2Text biblioteka leidžia programinės įrangos kūrėjams lengvai įkelti ir konvertuoti HTML failą į tekstinį formatą jų Go programose. HTML2Text ne tik pašalina žymas – ji protingai interpretuoja HTML struktūrą, kad sukurtų žmonėms skaitomą išvestį, turinčią semantinį supratimą apie antraštes, pastraipas ir sąrašus, išlaikant nuorodas su URL rodomais skliausteliuose po nuorodos teksto, tarpų normalizavimą, kuris išlaiko skaitomumą be perteklinių eilučių lūžių, bei simbolių kodavimo palaikymą, įskaitant UTF-8 su BOM (Byte Order Mark). Štai pilnas pavyzdys, kaip naudoti biblioteką, leidžiančią įkelti ir konvertuoti HTML į tekstinį formatą Go programose.

Kaip konvertuoti paprastą HTML turinį į teksto formatą naudojant Go biblioteką?

package main

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

func main() {
    html := `
        

Sveiki atvykę į mūsų paslaugą

Peržiūrėkite mūsų funkcijų puslapį daugiau informacijos apie tai, ką siūlome.

  • 24/7 palaikymas
  • Nemokamas bandomasis periodas
  • Įmonės planai
` text, err := html2text.FromString(html, html2text.Options{}) if err != nil { panic(err) } fmt.Println(text) }

Lentelių atvaizdavimas su gražiu formatavimu

Vienas iš išskirtinių HTML2Text savybių yra gebėjimas paversti HTML lenteles į ASCII pagrindu sukurtas tekstines lenteles. Paprasto teksto lentelės dažnai tampa sumaišytu duomenų sriuba. PrettyTables funkcija išsaugo lentelių struktūrą naudojant ASCII meną, todėl skaitiniai duomenys, kainų lentelės ar palyginimo diagramos tampa skaitomos bet kokiame kontekste. Tai puikiai tinka automatizuotiems ataskaitoms, siunčiamiems el. paštu, komandų eilutės įrankio išvestims arba SMS pranešimams, kur svarbi duomenų struktūra. Žemiau pateiktas kodo pavyzdys rodo, kaip programinės įrangos kūrėjai gali konvertuoti HTML lentelę į suformatuotą ASCII lentelę naudojant Go komandas.

Kaip konvertuoti HTML lentelę į suformatuotą ASCII lentelę naudojant 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)
}

El. pašto atsarginio turinio generavimas naudojant Go biblioteką

Vienas iš dažniausiai pasitaikančių HTML2Text naudojimo atvejų yra HTML el. laiškų šablonų konvertavimas į jų paprasto teksto atitikmenis. El. laiškų klientai labai skiriasi savo HTML atvaizdavimo galimybėmis. Kai kurie saugumą vertinantys vartotojai visiškai išjungia HTML, o senesni klientai arba ekrano skaityklės, skirtos regos sutrikimų turintiems vartotojams, dažniau veikia geriau su paprastu tekstu. Teksto alternatyvos pateikimas nėra tik gera praktika – tai būtina prieinamumui ir pristatymo patikimumui. Automatiškai generuojant sinchronizuotas paprasto teksto versijas, užtikrinama, kad kiekvienas gavėjas galėtų perskaityti jūsų turinį, sumažėtų šlamšto filtrų aktyvavimas ir būtų laikomasi prieinamumo standartų, tokių kaip WCAG.

Kaip sukurti paprasto teksto atsarginį variantą el. laiško žinutės naudojant Go biblioteką?

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)
}

Darbas su nuorodomis konvertuojant HTML į tekstą

HTML2Text biblioteka įtraukė visapusišką palaikymą nuorodų tvarkymui konvertuojant HTML į tekstą. Nuorodos yra ypač svarbios HTML turinyje, o html2text užtikrina, kad būtų išsaugotas tiek nuorodos tekstas, tiek URL. Nuorodos tekstas rodomas įprastai, o faktinis URL pridedamas skliausteliuose, užtikrinant, kad paprasto teksto versijos skaitytojai vis tiek galėtų pasiekti susietus išteklius. Žemiau pateiktas pavyzdys parodo, kaip tai pasiekti.

Kaip tvarkyti nuorodas konvertuojant HTML į tekstą Go programose?

package main

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

func main() {
    htmlContent := `
    
        
            

Peržiūrėkite mūsų produktų katalogą arba apsilankykite mūsų pagalbos puslapyje.

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