Frage

Bearbeiten - geändert basierend auf der Antwort:

Okay, hier ist, was ich basierend auf der Antwort geändert habe:

Hier ist die Zeichenfolge.

"November is Fruit's Fresh."    

Hier ist was ich tue:

    static string EscapeCharacters(string txt)
    {
        string encodedTxt = HttpUtility.HtmlEncode(txt);
        return HttpUtility.HtmlDecode(encodedTxt);
    }

    string _decodedTxt = EscapeCharacters("November is Fruit's Fresh.");

Wenn es zurückkehrt, bekomme ich immer noch den gleichen Text November is Fruit's Fresh.

Ende bearbeiten

Ich habe versucht zu benutzen HttpUtility.HtmlDecode aus System.Web und versuchte auch zu benutzen SecurityElement.Escape Aber es entkommt nichts richtig.

Also schreibe ich am Ende meine eigene Ersatzmethode so etwas:

    static string EscapeXMLCharacters(string txt)
    {
        string _txt = txt.Replace("&amp;", "&").Replace("&lt;", "<").Replace("&gt;", ">").Replace("&quot;", "\"").Replace("&apos;", "'").Replace("&#38;", "&").Replace("&#60;", "<").Replace("&#62;", ">").Replace("&#34;", "\\").Replace("&#39;", "'");
        return _txt;
    }

Es funktioniert in meiner Situation, aber es ist schwer, alles abzudecken, und in meiner Situation habe ich einige europäische Charaktere wie í``(&#237;) oder é (&#233;)

Gibt es eine integrierte Versorgungsmethode .NET, die sich von Sonderzeichen kümmert?

War es hilfreich?

Lösung

Sie können verwenden HtmlEncode Um die Zeichenfolge zu codieren, und dann können Sie verwenden HtmlDecode Um den ursprünglichen Wert zurückzugeben:

string x = "éí&";
string encoded = System.Web.HttpUtility.HtmlEncode(x);
Console.WriteLine(encoded);  //&#233;&#237;&amp;

string decoded = System.Web.HttpUtility.HtmlDecode(encoded);
Console.WriteLine(decoded);  //éí&

Mit Ihrem Update müssen Sie nur die Zeichenfolge dekodieren:

String decoded = System.Web.HttpUtility.HtmlDecode("November is Fruit&#39;s Fresh.");
Console.WriteLine(decoded);   //November is Fruit's Fresh.

Andere Tipps

TagText = SecurityElement.escape (TagText);

http://msdn.microsoft.com/en-us/library/system.security.securityelement.esescape.aspx

oder

 System.Net.WebUtility.HtmlDecode(textContent);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top