web-dev-qa-db-ja.com

C#、すべてのhtml特殊文字を通常のテキスト文字に置き換える関数

たとえば、xmlテンプレートから文字を受け取っています。

& > 

これらを通常の同等のもので置き換えるための汎用関数がフレームワークに存在しますか?

31
JL.

使いたい HttpUtility.HtmlDecode .:

HTTP送信用にHTMLエンコードされた文字列を、デコードされた文字列に変換します。

53
Andrew Hare

多分これは助けになるでしょう:WebUtility.HtmlDecode( "");

3
Rumata

時々、テキストは二重にエンコードされた部分を持っています。

例えば: "Lorem Ipsum
   - Blah"

これはそれを助けるかもしれません:

public static string RecursiveHtmlDecode(string str) {
    if (string.IsNullOrWhiteSpace(str)) return str;  
    var tmp = HttpUtility.HtmlDecode(str);
    while (tmp != str)
    {
        str = tmp;
        tmp = HttpUtility.HtmlDecode(str);
    }
    return str; //completely decoded string
}
1
jaybro