如何用 HTML 表示形式替换重音字符

发布于 2024-11-14 09:28:41 字数 697 浏览 3 评论 0原文

我想将“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());
}

--OLD

I would like to transform strings like "rég" to "grégou".

I temporarily wrote some code that manually changes the most common accents, but I would like to get one that transforms each accent to its html equivalent.

Someone has an idea? :)

ps: I tried something but it does not work ...

C # code:

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());
}

--OLD

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

巾帼英雄 2024-11-21 09:28:41

HttpUtility.HtmlEncode 方法 不会修改参数(C# 中的字符串为不可变!);它将编码版本作为新字符串返回:

string encoded = HttpUtility.HtmlEncode("rég");

在 MVC 上下文中对文本进行编码的首选方式似乎是 Html.Encode 辅助方法

<%= Html.Encode("rég") %>

The HttpUtility.HtmlEncode Method does not modify the argument (strings in C# are immutable!); it returns the encoded version as a new string:

string encoded = HttpUtility.HtmlEncode("rég");

The preferred way to encode text in the context of MVC seems to be the Html.Encode Helper Method:

<%= Html.Encode("rég") %>
爱的那么颓废 2024-11-21 09:28:41

HelperSharp 有一个用于此目的的方法:EscapeAccentsToHtmlEntities

// The result will be: grégou
var escaped = "grégou".EscapeAccentsToHtmlEntities(); 

The library HelperSharp has a method for this purpose: EscapeAccentsToHtmlEntities

// The result will be: grégou
var escaped = "grégou".EscapeAccentsToHtmlEntities(); 
剩一世无双 2024-11-21 09:28:41

快速谷歌搜索“HTML实体编码C#”会带来很多点击......如下所示:

http://www.codeproject.com/KB/recipes/htmlencodingcsharp.aspx

还有执行此功能的框架类:

http://msdn.microsoft.com/en-us/library/73z22y6h.aspx

A quick google search for "HTML entity encode C#" brings up lots of hits ... like the following:

http://www.codeproject.com/KB/recipes/htmlencodingcsharp.aspx

There are also framework classes that perform this function:

http://msdn.microsoft.com/en-us/library/73z22y6h.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文