Domanda

Modifica - Modificato in base alla risposta:

Ok, ecco cosa ho modificato in base alla risposta:

Ecco la stringa.

"November is Fruit's Fresh."    

Ecco cosa sto facendo:

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

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

Quando ritorna ricevo ancora lo stesso testo November is Fruit's Fresh.

EDIT END

Ho provato a usare HttpUtility.HtmlDecode da System.Web e ho anche provato a usare SecurityElement.Escape Ma non sfugge a nulla correttamente.

Quindi finisco di scrivere il mio metodo di sostituzione qualcosa del genere:

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

Funziona nella mia situazione, ma è difficile coprire tutto e nella mia situazione ho alcuni personaggi europei come í``(&#237;) o é (&#233;)

Esiste un metodo di utilità integrato .NET che prende le preoccupazioni di caratteri speciali?

È stato utile?

Soluzione

Puoi usare HtmlEncode Per codificare la stringa e quindi è possibile utilizzare HtmlDecode Per restituire il valore originale:

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);  //éí&

Con il tuo aggiornamento, devi solo decodificare la stringa:

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

Altri suggerimenti

tagtext = securityElement.escape (tagtext);

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

o

 System.Net.WebUtility.HtmlDecode(textContent);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top