Pregunta

Editar - Modificado según la respuesta:

De acuerdo, aquí está lo que modifiqué en función de la respuesta:

Aquí está la cadena.

"November is Fruit's Fresh."    

Esto es lo que estoy haciendo:

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

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

Cuando regresa, sigo recibiendo el mismo texto November is Fruit's Fresh.

EDITAR EDITAR

Intenté usar HttpUtility.HtmlDecode de System.Web y también intenté usar SecurityElement.Escape Pero no escapa de nada correctamente.

Así que termino escribiendo mi propio método de reemplazo algo como esto:

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

Funciona en mi situación, pero es difícil cubrir todo y en mi situación tengo algunos personajes europeos como í``(&#237;) o é (&#233;)

¿Existe un método de utilidad incorporado .NET que se preocupa por caracteres especiales?

¿Fue útil?

Solución

Puedes usar HtmlEncode Para codificar la cadena y luego puede usar HtmlDecode Para devolver el valor original:

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 su actualización, solo necesita decodificar la cadena:

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

Otros consejos

tagText = SecurityElement.escape (tagText);

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

o

 System.Net.WebUtility.HtmlDecode(textContent);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top