Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在HTML中编码特殊字符,但不包括标记_C#_Html_Character Encoding - Fatal编程技术网

C# 如何在HTML中编码特殊字符,但不包括标记

C# 如何在HTML中编码特殊字符,但不包括标记,c#,html,character-encoding,C#,Html,Character Encoding,我正在尝试将一个HTML页面转换为一个包含正确命名实体的页面,将引号、双引号转换为实体。我尝试了下面的代码,它可以工作,但是对HTML标记进行了编码,我不想去管它。有什么办法吗 public static string HtmlEncode(string text) { string result; using (StringWriter sw = new StringWriter()) { var x = new HtmlTextWriter(sw);

我正在尝试将一个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;
}

正如上面MatthewG所指出的,答案已经发布到-解决方案是使用HTMLAgilityPack并将html文本或节点传递给方法entitize-这只编码页面内容而不是标记

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

你说得对,马特,答案在前一个问题中。谢谢