Câu trả lời:
Bạn có thể dùng HttpUtility.HtmlDecode
Nếu bạn đang sử dụng .NET 4.0+, bạn cũng có thể sử dụng WebUtility.HtmlDecode
không yêu cầu tham chiếu lắp ráp bổ sung vì nó có sẵn trong System.Net
không gian tên.
HttpUtility.UrlDecode
Trên .Net 4.0:
System.Net.WebUtility.HtmlDecode()
Không cần bao gồm lắp ráp cho một dự án C #
Như @CQ nói, bạn cần sử dụng HttpUtility.HtmlDecode , nhưng nó không có sẵn trong một dự án không phải là .NET .NET theo mặc định.
Đối với một ứng dụng .NET không phải là ASP, bạn cần thêm một tham chiếu đến System.Web.dll
. Bấm chuột phải vào dự án của bạn trong Solution Explorer, chọn "Thêm tham chiếu", sau đó duyệt danh sách cho System.Web.dll
.
Bây giờ khi tham chiếu được thêm vào, bạn sẽ có thể truy cập phương thức bằng cách sử dụng tên đủ điều kiện System.Web.HttpUtility.HtmlDecode
hoặc chèn một using
câu lệnh System.Web
để làm cho mọi thứ dễ dàng hơn.
Nếu không có ngữ cảnh Máy chủ (tức là bạn đang chạy ngoại tuyến), bạn có thể sử dụng HttpUtility . Mã Html .
Sử dụng Server.HtmlDecode
để giải mã các thực thể HTML. Nếu bạn muốn thoát HTML, tức là hiển thị ký tự <
và >
ký tự cho người dùng, hãy sử dụng Server.HtmlEncode
.
Để giải mã HTML, hãy xem mã bên dưới
string s = "Svendborg Værft A/S";
string a = HttpUtility.HtmlDecode(s);
Response.Write(a);
Đầu ra giống như
Svendborg Værft A/S
Một điều đáng nói nữa là nếu bạn đang sử dụng HtmlAgilityPack như tôi, bạn nên sử dụng HtmlAgilityPack.HtmlEntity.DeEntitize()
. Phải mất một string
và trả về a string
.
Viết một phương thức tĩnh vào một số lớp tiện ích, chấp nhận chuỗi làm tham số và trả về chuỗi html được giải mã.
Bao gồm trong using System.Web.HttpUtility
lớp học của bạn
public static string HtmlEncode(string text)
{
if(text.length > 0){
return HttpUtility.HtmlDecode(text);
}else{
return text;
}
}
Dành cho .net 4.0
Thêm một tham chiếu đến System.net.dll
dự án using System.Net;
sau đó sử dụng các phần mở rộng sau
// Html encode/decode
public static string HtmDecode(this string htmlEncodedString)
{
if(htmlEncodedString.Length > 0)
{
return System.Net.WebUtility.HtmlDecode(htmlEncodedString);
}
else
{
return htmlEncodedString;
}
}
public static string HtmEncode(this string htmlDecodedString)
{
if(htmlDecodedString.Length > 0)
{
return System.Net.WebUtility.HtmlEncode(htmlDecodedString);
}
else
{
return htmlDecodedString;
}
}