0

我正在寻找一个比 .NET 的 HtmlEncode 方法更彻底的 HTML 编码器。该方法将处理 <> 但不是长破折号,这给我带来了问题。是否有将所有特殊字符编码为 HTML 的 .NET 库?

这在哪里:

北卡罗来纳州夏洛特(美联社)- 共和党全国委员会正在北卡罗来纳州举行冬季会议,四个月前,民主党人在该市重新提名巴拉克·奥巴马 (Barack Obama) 为总统。

会翻译成:

北卡罗来纳州夏洛特 (AP) &mdash ; 共和党全国委员会正在北卡罗来纳州举行冬季会议,四个月前,民主党人在该市重新提名巴拉克·奥巴马 (Barack Obama) 为总统。

4

1 回答 1

1

我最终使用了我在网上某处找到的一个穷人的 HTML 编码器。这使用 .NET 的 HtmlEncode 函数,然后获取所有“高 ASCII”字符并将它们转换为 HTML 等效的 000;。马虎但有效。

        public static string HtmlEncode(this string input)
    {
        char[] chars = HttpUtility.HtmlEncode(input).ToCharArray();
        StringBuilder result = new StringBuilder(input.Length + (int)(input.Length * 0.1));

        foreach (char c in chars)
        {
            int value = Convert.ToInt32(c);
            if (value > 127)
                result.AppendFormat("&#{0};", value);
            else
                result.Append(c);
        }

        return result.ToString();
    }
于 2013-01-24T02:25:06.817 回答