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编码显示我正在查找的命名实体:-)