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

Bezplatná Go knihovna pro převod HTML dokumentů na text

HTML2Text je velmi jednoduchá open source Go knihovna, která dokáže převést HTML značky na čitelný prostý text v aplikacích Go.

C dnešního digitálního prostředí je potřeba, aby byl obsah přístupný napříč různými formáty a platformami. HTML2Text je výkonná knihovna pro Go vytvořená Jayem Taylorem, která řeší základní výzvu: převod HTML obsahu do čitelného, dobře formátovaného čistého textu. Původně vyvinuta k zajištění čitelnosti HTML e‑mailů pro všechny příjemce – včetně těch s klienty, kde je HTML zakázáno, nebo s potřebami přístupnosti – se tato knihovna vyvinula v univerzální nástroj pro vývojáře pracující s transformací obsahu.

Knihovna převádí složité HTML struktury, včetně tabulek, seznamů a odkazů, na čistý, markdown‑ovlivněný prostý text při zachování logické struktury a čitelnosti. Obsahuje několik důležitých funkcí, jako je inteligentní konverze HTML na text, vykreslování tabulek s pěkným formátováním, přizpůsobitelné možnosti konverze, rozhraní příkazové řádky a další. HTML2Text je napsán v čistém Go bez externích závislostí, což zajišťuje rychlost pro typické HTML dokumenty, úsporu paměti díky designu přátelskému ke streamování a je thread‑safe pro souběžné použití na webových serverech. Díky jednoduchému API, flexibilním možnostem a osvědčenému záznamu v tisících projektů si HTML2Text zaslouží místo ve vašem Go toolkitu.

Previous Next

Začínáme s HTML2Text

Doporučený a nejjednodušší způsob instalace HTML2Text je pomocí GitHubu. Použijte prosím následující příkaz pro hladkou instalaci.

Nainstalujte knihovnu HTML2Text přes GitHub

go get jaytaylor.com/html2text

Knihovna vyžaduje Go 1.x nebo novější a nemá žádné externí závislosti, což udržuje váš projekt lehký. Můžete ji také nainstalovat ručně; stáhněte si nejnovější soubory vydání přímo z repozitáře GitHub.

Základní převod HTML na text pomocí Go

Otevřená knihovna HTML2Text usnadňuje vývojářům načíst a převést soubor HTML do textového formátu uvnitř jejich Go aplikací. HTML2Text neodstraňuje jen značky – inteligentně interpretuje strukturu HTML a vytváří výstup čitelný pro člověka se sémantickým pochopením nadpisů, odstavců a seznamů, zachovává odkazy s URL zobrazenými v závorkách za textem odkazu, normalizaci bílých znaků, která udržuje čitelnost bez nadměrných zalomení řádků, podporu kódování znaků včetně UTF-8 s BOM (Byte Order Mark). Zde je kompletní příklad použití knihovny, který umožňuje načíst a převést HTML do textového formátu uvnitř Go aplikací.

Jak převést jednoduchý HTML obsah do textového formátu pomocí knihovny Go?

package main

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

func main() {
    html := `
        

Vítejte v naší službě

Prohlédněte si naši stránku s funkcemi pro více informací o tom, co nabízíme.

  • Podpora 24/7
  • Bezplatná zkušební verze
  • Podnikové plány
` text, err := html2text.FromString(html, html2text.Options{}) if err != nil { panic(err) } fmt.Println(text) }

Vykreslování tabulek s pěkným formátováním

Jednou z vynikajících funkcí HTML2Text je jeho schopnost převádět HTML tabulky na textové tabulky založené na ASCII. Tabulky v prostém textu se obvykle změní v nepořádek dat. Funkce PrettyTables zachovává strukturu tabulek pomocí ASCII art, což umožňuje, aby číselná data, cenové tabulky nebo srovnávací grafy byly čitelné v jakémkoli kontextu. Jsou ideální pro automatizované zprávy odesílané e-mailem, výstup nástrojů příkazové řádky nebo SMS oznámení, kde je důležitá struktura dat. Následující ukázkový kód ukazuje, jak mohou vývojáři softwaru převést HTML tabulku na formátovanou ASCII tabulku pomocí příkazů Go.

Jak převést HTML tabulku na formátovanou ASCII tabulku pomocí 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)
}

Generování záložního e‑mailu pomocí knihovny Go

Jedním z nejčastějších použití HTML2Text je převod HTML e‑mailových šablon na jejich čisté textové ekvivalenty. E‑mailoví klienti se výrazně liší ve svých schopnostech renderovat HTML. Někteří uživatelé dbající na bezpečnost HTML zcela zakazují, zatímco starší klienti nebo čtečky obrazovky pro zrakově postižené uživatele často fungují lépe s čistým textem. Poskytnutí textové alternativy není jen dobrá praxe – je nezbytné pro přístupnost a doručitelnost. Automatickým generováním synchronizovaných verzí v čistém textu zajistíte, že každý příjemce může váš obsah přečíst, snížíte spouštění spamových filtrů a budete vyhovovat standardům přístupnosti, jako je WCAG.

Jak vygenerovat záložní čistý text e‑mailové zprávy pomocí knihovny 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)
}

Práce s odkazy při převodu HTML na text

Knihovna HTML2Text zahrnuje kompletní podporu pro zpracování odkazů při převodu HTML na text. Odkazy jsou v HTML obsahu zvláště důležité a html2text zajišťuje, že jsou zachovány jak text odkazu, tak URL. Text odkazu se zobrazí normálně, zatímco skutečná URL je připojena v závorkách, což zajišťuje, že čtenáři verze v čistém textu mohou stále přistupovat k odkazovaným zdrojům. Následující příklad ukazuje, jak toho dosáhnout.

Jak spravovat odkazy při převodu HTML na text v aplikacích Go?

package main

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

func main() {
    htmlContent := `
    
        
            

Prohlédněte si náš katalog produktů nebo navštivte naši stránku podpory.

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