我在编写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);
但它没有用,有什么想法吗?
答案 0 :(得分:0)
您应该使用System.Web.HttpUtility
类,特别是HtmlEncode
和HtmlDecode
方法来处理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