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

Kostenlose Go-Bibliothek zum Konvertieren von HTML-Dokumenten in Text

HTML2Text ist eine sehr einfache Open-Source-Go-Bibliothek, die HTML-Markup in menschenlesbaren Klartext in Go-Apps umwandeln kann.

Im heutigen digitalen Umfeld muss Inhalt über mehrere Formate und Plattformen hinweg zugänglich sein. HTML2Text ist eine leistungsstarke Go-Bibliothek, die von Jay Taylor erstellt wurde und eine grundlegende Herausforderung löst: die Umwandlung von HTML-Inhalten in lesbaren, gut formatierten Nur-Text. Ursprünglich entwickelt, um sicherzustellen, dass HTML-E-Mails für alle Empfänger lesbar bleiben – einschließlich solcher mit deaktivierten HTML-Clients oder besonderen Barrierefreiheitsanforderungen – hat sich diese Bibliothek zu einem vielseitigen Werkzeug für Entwickler entwickelt, die mit Inhaltsumwandlungen arbeiten.

Die Bibliothek wandelt komplexe HTML-Strukturen, einschließlich Tabellen, Listen und Links, in sauberen, markdown‑basierten Klartext um, wobei die logische Struktur und Lesbarkeit erhalten bleiben. Es gibt mehrere wichtige Funktionen der Bibliothek, wie intelligente HTML‑zu‑Text-Konvertierung, Tabellenrendering mit ansprechender Formatierung, anpassbare Konvertierungsoptionen, Befehlszeilenschnittstelle und so weiter. HTML2Text ist in reinem Go geschrieben, ohne externe Abhängigkeiten, was es für typische HTML‑Dokumente schnell macht, speichereffizient dank streaming‑freundlichem Design und thread‑sicher für den gleichzeitigen Einsatz in Web‑Servern. Mit seiner einfachen API, flexiblen Optionen und nachgewiesenen Erfolgen in tausenden Projekten verdient HTML2Text einen Platz in Ihrem Go‑Toolkit.

Previous Next

Erste Schritte mit HTML2Text

Die empfohlene und einfachste Methode, HTML2Text zu installieren, ist über GitHub. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.

HTML2Text-Bibliothek über GitHub installieren

go get jaytaylor.com/html2text

Die Bibliothek erfordert Go 1.x oder neuer und hat keine externen Abhängigkeiten, wodurch Ihr Projekt leichtgewichtig bleibt. Sie können sie auch manuell installieren; laden Sie die neuesten Release-Dateien direkt vom GitHub-Repository herunter.

Grundlegende HTML-zu-Text-Konvertierung mit Go

Die Open-Source-Bibliothek HTML2Text erleichtert Softwareentwicklern das Laden und Konvertieren von HTML-Dateien in Textformat innerhalb ihrer Go-Anwendungen. HTML2Text entfernt nicht nur Tags – es interpretiert die HTML-Struktur intelligent, um eine menschenlesbare Ausgabe mit semantischem Verständnis von Überschriften, Absätzen und Listen zu erzeugen, bewahrt Links, indem URLs in Klammern nach dem Linktext angezeigt werden, normalisiert Leerzeichen, um die Lesbarkeit ohne übermäßige Zeilenumbrüche zu erhalten, und unterstützt Zeichenkodierung einschließlich UTF-8 mit BOM (Byte Order Mark). Hier ist ein vollständiges Beispiel für die Verwendung der Bibliothek, das das Laden und Konvertieren von HTML in Textformat innerhalb von Go-Anwendungen ermöglicht.

Wie konvertiert man einfachen HTML-Inhalt in Textformat mit einer Go-Bibliothek?

package main

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

func main() {
    html := `
        

Willkommen bei unserem Service

Schauen Sie sich unsere Feature-Seite für weitere Informationen darüber, was wir anbieten, an.

  • 24/7 Support
  • Kostenlose Testversion
  • Unternehmenspläne
` text, err := html2text.FromString(html, html2text.Options{}) if err != nil { panic(err) } fmt.Println(text) }

Tabellendarstellung mit ansprechender Formatierung

Eines der herausragenden Merkmale von HTML2Text ist seine Fähigkeit, HTML-Tabellen als ASCII-basierte Texttabellen darzustellen. Tabellen im Nur-Text werden typischerweise zu einem wirren Datensalat. Die PrettyTables-Funktion bewahrt die tabellarische Struktur mithilfe von ASCII-Art und macht numerische Daten, Preistabellen oder Vergleichsdiagramme in jedem Kontext lesbar. Diese sind ideal für automatisierte Berichte, die per E‑Mail, Befehlszeilen‑Tool‑Ausgabe oder SMS‑Benachrichtigungen gesendet werden, wo die Datenstruktur wichtig ist. Das folgende Codebeispiel zeigt, wie Softwareentwickler HTML-Tabellen mit Go‑Befehlen in formatierte ASCII‑Tabellen konvertieren können.

Wie konvertiert man HTML-Tabellen in formatierte ASCII-Tabellen mit 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)
}

E-Mail-Fallback-Generierung über Go-Bibliothek

Einer der häufigsten Anwendungsfälle für HTML2Text ist die Umwandlung von HTML‑E-Mail‑Vorlagen in deren reine Textäquivalente. E‑Mail‑Clients unterscheiden sich stark in ihren HTML‑Darstellungsfähigkeiten. Einige sicherheitsbewusste Nutzer deaktivieren HTML vollständig, während ältere Clients oder Bildschirmleser für sehbehinderte Nutzer oft besser mit Klartext funktionieren. Eine Textalternative bereitzustellen ist nicht nur gute Praxis — sie ist entscheidend für Barrierefreiheit und Zustellbarkeit. Durch das automatische Erzeugen synchronisierter Klartext‑Versionen stellen Sie sicher, dass jeder Empfänger Ihren Inhalt lesen kann, reduzieren Spamfilter‑Auslösungen und erfüllen Barrierefreiheitsstandards wie WCAG.

Wie erzeugt man einen Nur-Text-Fallback einer E-Mail-Nachricht mit einer Go-Bibliothek?

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

Arbeiten mit Links bei HTML-zu-Text

Die HTML2Text‑Bibliothek enthält vollständige Unterstützung für die Behandlung von Links bei der HTML‑zu‑Text‑Konvertierung. Links sind besonders wichtig in HTML‑Inhalten, und html2text stellt sicher, dass sowohl der Linktext als auch die URL erhalten bleiben. Der Linktext wird normal angezeigt, während die eigentliche URL in Klammern angehängt wird, sodass Leser der Klartext‑Version weiterhin auf die verlinkten Ressourcen zugreifen können. Das folgende Beispiel zeigt, wie man dies erreicht.

Wie verwaltet man Links beim Konvertieren von HTML zu Text in Go-Anwendungen?

package main

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

func main() {
    htmlContent := `
    
        
            

Schauen Sie sich unseren Produktkatalog oder besuchen Sie unsere Support-Seite.

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