0

.NET の HtmlEncode メソッドよりももう少し完全な HTML エンコーダーを探しています。そのメソッドは <> を処理しますが、長いダッシュは処理しないため、問題が発生します。すべての特殊文字を HTML にエンコードする .NET ライブラリはありますか?

ここで:

ノースカロライナ州シャーロット (AP) — 共和党全国委員会は、民主党が 4 か月前にバラク・オバマを大統領に再指名したノースカロライナ州の都市で冬季会合を開催しています。

翻訳すると:

ノースカロライナ州シャーロット (AP) &mdash ; 共和党全国委員会は、4 か月前に民主党がバラク・オバマを大統領に再指名したノースカロライナ州の都市で冬季会合を開催しています。

4

1 に答える 1

1

結局、オンラインのどこかで見つけた貧乏人の HTML エンコーダーを使用することになりました。これは .NET の HtmlEncode 関数を使用し、すべての "High 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 に答える