문제

편집 - 답변을 기반으로 수정 :

좋아, 여기에 답을 바탕으로 수정 한 내용은 다음과 같습니다.

여기에 문자열이 있습니다.

"November is Fruit's Fresh."    

여기에 내가하는 일이 있습니다.

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

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

그것이 반환되면 나는 여전히 같은 텍스트를 받고 있습니다 November is Fruit's Fresh.

최종 편집

나는 사용을 시도했다 HttpUtility.HtmlDecode ~에서 System.Web 또한 사용해 보았습니다 SecurityElement.Escape 그러나 그것은 올바르게 탈출하지 않습니다.

그래서 나는 내 자신의 교체 방법을 작성하여 다음과 같은 것입니다.

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

그것은 내 상황에서 효과가 있지만 모든 것을 다루기가 어렵고 내 상황에서는 유럽의 캐릭터가 있습니다. í``(&#237;) 또는 é (&#233;)

특수 캐릭터를 돌보는 유틸리티 메소드가 내장 된 .NET이 있습니까?

도움이 되었습니까?

해결책

당신이 사용할 수있는 HtmlEncode 문자열을 인코딩하려면 사용할 수 있습니다 HtmlDecode 원래 값을 반환하려면 :

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

업데이트를 사용하면 문자열을 해독하면됩니다.

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

다른 팁

tagtext = securityElement.escape (tagtext);

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

또는

 System.Net.WebUtility.HtmlDecode(textContent);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top