HtmlEncode与HTML实体名称,是可能的

本文关键字:HTML 实体 HtmlEncode | 更新日期: 2023-09-27 17:50:45

我使用以下方法来HtmlEncode一些text,它在Spanish中,像这样:

string word = "configuración";
string encodedWord = System.Net.WebUtility.HtmlEncode(word);

输出是预期的:

configuración

但是!ó文本表示HTML实体号,表示拉丁小写字母"o"的急号。

然而,我想知道是否有一种方法-使用我不知道的内置函数,库等-显示HTML实体编号的HTML实体名称,并支持其他字符(如通用解决方案)。

到目前为止,我所尝试的是检查一个HTML实体表(有很多当谷歌搜索,但我使用这个:http://www.ascii.cl/htmlcodes.htm),然后创建一个自定义的method替换需要的string从做一些映射的词。

所以,如果单词包含ó,那么匹配的文本将被替换为它的HTML实体名称,即oacute;,但这真的很痛苦,因为有很多情况/场景。

最后,期望的输出将是:
configuración

HtmlEncode与HTML实体名称,是可能的

htmlcode (word);只编码ISO 8859-1 (Latin-1)。这意味着你的输入需要用ISO 8859-1编码。ó不在iso标准中,您可以尝试使用AntiXss编码器:

Microsoft.Security.Application.AntiXss.HtmlEncode("ó"); 
or Microsoft.Security.Application.Encoder.HtmlEncode("ó");