将HTML描述转换为要设置为元描述的字符串

时间:2012-08-24 15:45:16

标签: c# asp.net html string meta-tags

我正在讨论网站。(http://www.wrangle.in/)。我添加了一个HTML格式的主题描述的新功能。 HTML格式的描述保存在数据库中。加载主题后,描述以HTML格式显示。但是,即使在我使用以下类从字符串中删除HTML标记之后,元描述也会显示HTML标记。但是这堂课不行。我是从网上的某个地方下载的。它不是删除& nbsp;,& amp; amp;等人物。 即使它没有删除所有标签。请告诉我如何使我的HTML描述在META中作为文本描述可见?

/// <summary>
/// Methods to remove HTML from strings.
/// </summary>
public static class HtmlRemoval
{
    /// <summary>
    /// Remove HTML from string with Regex.
    /// </summary>
    public static string StripTagsRegex(string source)
    {
        return Regex.Replace(source, "<.*?>", string.Empty);
    }

    /// <summary>
    /// Compiled regular expression for performance.
    /// </summary>
    static Regex _htmlRegex = new Regex("<.*?>", RegexOptions.Compiled);

    /// <summary>
    /// Remove HTML from string with compiled Regex.
    /// </summary>
    public static string StripTagsRegexCompiled(string source)
    {
        return _htmlRegex.Replace(source, string.Empty);
    }

    /// <summary>
    /// Remove HTML tags from string using char array.
    /// </summary>
    public static string StripTagsCharArray(string source)
    {
        char[] array = new char[source.Length];
        int arrayIndex = 0;
        bool inside = false;

        for (int i = 0; i < source.Length; i++)
        {
            char let = source[i];
            if (let == '<')
            {
                inside = true;
                continue;
            }
            if (let == '>')
            {
                inside = false;
                continue;
            }
            if (!inside)
            {
                array[arrayIndex] = let;
                arrayIndex++;
            }
        }
        return new string(array, 0, arrayIndex);
    }
}

1 个答案:

答案 0 :(得分:1)

您刚刚删除HTML代码的代码,它不会转换&amp;&nbsp;

使用HttpUtility.HtmlDecode会将它们转换为可读字符。