Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HtmlEncode与HTML实体名称,是否可能?_C#_Html Entities_Html Encode - Fatal编程技术网

C# HtmlEncode与HTML实体名称,是否可能?

C# HtmlEncode与HTML实体名称,是否可能?,c#,html-entities,html-encode,C#,Html Entities,Html Encode,我正在使用以下方法来HtmlEncode一些文本,它是用西班牙语,如下所示: string word = "configuración"; string encodedWord = System.Net.WebUtility.HtmlEncode(word); 输出是预期的: configuración 但是!和#243文本表示带有锐音符的拉丁文小写字母“o”的HTML实体编号 但是,我想知道是否有一种方法—使用我不知道的内置函数、库等—来显示HTML实体编号的HTML实体

我正在使用以下方法来
HtmlEncode
一些
文本
,它是用
西班牙语
,如下所示:

string word = "configuración";
string encodedWord = System.Net.WebUtility.HtmlEncode(word);
输出是预期的:

configuración
但是!
和#243文本表示带有锐音符的拉丁文小写字母“o”的HTML实体编号

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

到目前为止,我尝试的是检查HTML entities表(谷歌搜索时有很多,但我使用了这个:),然后创建一个自定义的
方法
,通过进行一些映射来替换单词中所需的
字符串

因此,如果单词包含
ó
然后匹配的文本将被替换为它的HTML实体名称,即
oacute但这真的很痛苦,因为有很多案例/场景

最后,所需的输出将是:

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

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

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

很抱歉,我不能使用这个,因为我在一个控制台应用程序下,我认为这与编码无关,真的。我已经更新了答案,你可以测试AntiXss HtmlEncode是否可以处理o。嘿,谢谢你的提示!但是,不推荐使用
Microsoft.Security.Application.AntiXss.HtmlEncode
。正确的用法如下:
Microsoft.Security.Application.Encoder.HtmlEncode
并设置为
true
构造函数的第二个参数使html编码显示我正在查找的命名实体:-)