使用特殊字符编写HTML文件

时间:2015-01-19 09:21:43

标签: c# html

我在编写HTML特殊字符时遇到了问题 基本上我的程序正在编辑HTML文件,通过文本框,我将替换html文件中的内容。

但是我希望它能够添加“ç”,“á”,“ö”等字符。 我在HTML中知道这些字符有某种代码,我不想手动检查每个字符串并将这些字母替换为特殊代码。

必须有一种方法来转换字符串并用HTML编写它们。

这是我到目前为止所尝试的内容:

string utf8_String = textBox8.Text;
byte[] bytes = Encoding.Default.GetBytes(utf8_String);
utf8_String = Encoding.UTF8.GetString(bytes);
content = content.Replace("{8}", utf8_String);

但它没有用,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您应该使用System.Web.HttpUtility类,特别是HtmlEncodeHtmlDecode方法来处理html字符串。

HtmlEncode方法转换等效html实体中字符串中的每个特殊字符; HtmlDecode恰恰相反。

有关详细信息,请参阅MSDN reference

答案 1 :(得分:0)

您需要的是使用HtmlAgilityPack阅读TextBox.Text,然后使用HtmlEntity.Entitize方法。之后,将Entitize值设置为文本框。这是控制台应用程序中的一个小例子。

    public static void  Main(string[] args)
    {
        string html = @"<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<span>ç</span>

</body>
</html>";

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(html);
        Console.WriteLine(HtmlEntity.Entitize(doc.DocumentNode).InnerHtml);

}

要安装Html Agility Pack,您可以在NuGet中使用它

PM> Install-Package HtmlAgilityPack