C#,用普通文本字符替换所有html特殊字符的函数

JL.*_*JL. 29 c# html-entities

我有来自xml模板的字符,例如:

& > 
Run Code Online (Sandbox Code Playgroud)

框架中是否存在通用函数以用它们的正常等价替换它们?

And*_*are 54

你想用HttpUtility.HtmlDecode.:

将已经过HTML编码的HTTP传输字符串转换为已解码的字符串.

  • 我有这个和斯堪的纳维亚人的问题.它解码ex.`%20`为空格,但`%F8`应该是`ø`只是显示为某种ascii问号图.有小费吗? (2认同)

jay*_*bro 9

有时文本的某些部分经过双重编码。

例如:"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
}
Run Code Online (Sandbox Code Playgroud)


小智 5

也许这有帮助:WebUtility.HtmlDecode("");