如何在HTML中编码特殊字符但排除标记

时间:2015-02-03 14:23:17

标签: c# html character-encoding

我正在尝试将HTML页面转换为包含正确命名实体的HTML页面,将引号,双引号转换为实体。我尝试了下面的代码,它可以编码HTML标签,我想单独留下。任何想法如何做到这一点?

public static string HtmlEncode(string text)
{
    string result;
    using (StringWriter sw = new StringWriter())
    {
        var x = new HtmlTextWriter(sw);
        x.WriteEncodedText(text);
        result = sw.ToString();
    }
    return result;
}

1 个答案:

答案 0 :(得分:0)

如上面的MatthewG所述,答案已经发布到html entity encode text only, not html tag - 解决方案是使用HTMLAgilityPack并将html文本或节点传递给方法权限 - 这只对页面内容而不是标签进行编码

using HtmlAgilityPack;
html = HtmlEntity.Entitize(html);