In der Api.Text sind hilfreiche Methoden für den Umgang mit HTML-Strings

HtmlToPlainText

Die Methode extrahiert aus einem HTML nur den Text. Das Verhalten ist ähnlich zu Exchange, wenn es eine Mail sendet und den Inhalt auch als Plain-Text erzeugt, falls der Empfänger kein HTML kann oder aktiviert hat.

Es werden unterstützt:

  • Absätze jeglicher Art -> Zeilenumbruch
  • `
    ` -> Zeilenumbruch
  • Aufzählungen -> `* …`
  • HTML Entities (`ö` etc.)

Skripte und CSS-Stile werden entfernt.

PlainTextToHtml

Wandelt einen nicht-HTML Text in HTML um. Dabei werden:

  • Zeilenumbrüche zu `
    `,
  • aufeinanderfolgende Leerzeichen zu `&bnsp;  ` und
  • Sonderzeichen zu HTML Entitäten. (Kein XSS möglich)

CleanHtml

HTML aufräumen, neu formatieren und nur den Body extrahieren. (für HTML-Spalten)

HtmlEquals

Zwei HTML Inhalte semantisch vergleichen. Die Funktion liefert im Gegensatz zum String-Vergleich auch dann true, wenn der HTML-Inhalt gleich aussieht, z.B.: falls sich die HTML Inhalte nur in der Formatierung oder den Header-Informationen unterscheiden. Das funktioniert auch bei augescheinlich stark unterschiedlichen Fragmenten, aber eine 100% Garantie gibt es natürlich nicht. False negatives sind aber nicht zu erwarten.