[英]How to replace accented characters by their HTML representation
我想將像“rég”這樣的字符串轉換為“grégou”。
我臨時編寫了一些代碼來手動更改最常見的重音,但我想獲得一個將每個重音轉換為其 html 等效項的代碼。
有人有想法嗎? :)
ps:我嘗試了一些東西,但它不起作用......
C#代碼:
public static MvcHtmlString MyEncode(this HtmlHelper htmlHelper, string text)
{
StringBuilder builder = new StringBuilder();
Byte[] bArray;
HttpUtility.HtmlEncode(text);
bArray = System.Text.Encoding.GetEncoding(850).GetBytes(text);
String chaine = "";
for(int i=0; i<bArray.Length; i++)
{
chaine = chaine + (char)bArray[i];
}
HttpUtility.HtmlEncode(chaine);
builder.Append(chaine);
return MvcHtmlString.Create(builder.ToString());
}
- 老的
HttpUtility.HtmlEncode 方法不修改參數(C# 中的字符串是不可變的;):它將編碼版本作為新字符串返回:
string encoded = HttpUtility.HtmlEncode("rég");
在 MVC 上下文中編碼文本的首選方法似乎是Html.Encode Helper Method :
<%= Html.Encode("rég") %>
庫HelperSharp有一個用於此目的的方法: EscapeAccentsToHtmlEntities
// The result will be: grégou
var escaped = "grégou".EscapeAccentsToHtmlEntities();
對“HTML 實體編碼 C#”的快速谷歌搜索帶來了很多點擊...如下所示:
http://www.codeproject.com/KB/recipes/htmlencodingcsharp.aspx
還有執行此 function 的框架類:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.