440 Stimmen

Wie kann ich HTML-Zeichen in C# dekodieren?

Ich habe E-Mail-Adressen mit HTML-Zeichenentitäten codiert. Gibt es etwas in .NET, das sie in normale Zeichenketten umwandeln kann?

12voto

Hypershadsy Punkte 318

Es ist auch erwähnenswert, dass wenn Sie HtmlAgilityPack verwenden wie ich es tat, sollten Sie HtmlAgilityPack.HtmlEntity.DeEntitize() verwenden. Es nimmt einen string entgegen und gibt einen string zurück.

7voto

Daniel Schierbeck Punkte 1914

Verwenden Sie Server.HtmlDecode zum Decodieren der HTML-Entitäten. Wenn Sie das HTML maskieren möchten, d.h. die < und > Zeichen dem Benutzer anzeigen möchten, verwenden Sie Server.HtmlEncode.

1voto

Tahir Alvi Punkte 772

Schreiben Sie eine statische Methode in eine Utility-Klasse, die einen String als Parameter akzeptiert und den decodierten HTML-String zurückgibt.

Fügen Sie using System.Web.HttpUtility in Ihre Klasse ein

public static string HtmlEncode(string text)
    {
        if(text.length > 0){

           return HttpUtility.HtmlDecode(text);
        }else{

         return text;
        }

    }

1voto

Vinod Srivastav Punkte 3046

Für .net 4.0

Fügen Sie dem Projekt einen Verweis auf System.net.dll mit using System.Net; hinzu und verwenden Sie dann die folgenden Erweiterungen

// HTML codieren/decodieren
    public static string HtmDecode(this string htmlEncodedString)
    {
        if(htmlEncodedString.Length > 0)
        {
            return System.Net.WebUtility.HtmlDecode(htmlEncodedString);
        }
        else
        {
            return htmlEncodedString;
        }
    }

    public static string HtmEncode(this string htmlDecodedString)
    {
        if(htmlDecodedString.Length > 0)
        {
            return System.Net.WebUtility.HtmlEncode(htmlDecodedString);
        }
        else
        {
            return htmlDecodedString;
        }
    }

1voto

self.name Punkte 2261

Für Zeichenketten, die enthalten, musste ich die Zeichenkette doppelt decodieren. Das erste Decodieren würde es in umwandeln, beim zweiten Durchlauf würde es korrekt zu dem erwarteten Zeichen decodiert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X