C# 如何在HTML中编码特殊字符,但不包括标记
我正在尝试将一个HTML页面转换为一个包含正确命名实体的页面,将引号、双引号转换为实体。我尝试了下面的代码,它可以工作,但是对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);
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);
你说得对,马特,答案在前一个问题中。谢谢