我正在尝试将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所指出的,答案已经发布到html实体编码文本,而不是html标签 - 解决方案是使用HTMLAgilityPack并将html文本或节点传递给方法实体化 - 这仅对页面内容进行编码,而不是标签。
using HtmlAgilityPack;
html = HtmlEntity.Entitize(html);