С#, функция замены всех специальных символов html обычными текстовыми символами

У меня есть символы, поступающие из шаблона xml, например:

& > 

Существует ли в фреймворке общая функция для замены их обычными эквивалентами?


person JL.    schedule 27.04.2010    source источник


Ответы (3)


Вы хотите использовать HttpUtility.HtmlDecode.:

Преобразует строку, закодированную в формате HTML для передачи по протоколу HTTP, в декодированную строку.

person Andrew Hare    schedule 27.04.2010
comment
У меня проблема с этим и скандинавскими символами. Он декодирует ex. %20 на пустое место, но %F8, который должен быть ø, просто отображается как своего рода вопросительный знак ascii. Какие-нибудь советы? - person Martin; 15.11.2011

Возможно, это поможет: WebUtility.HtmlDecode("");

person Rumata    schedule 08.12.2014

Иногда в тексте есть части, закодированные дважды.

Например: "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
}
person jaybro    schedule 29.10.2018