生成公共“ID文本”(如Stackoverflow)

时间:2009-07-27 13:55:10

标签: c# asp.net asp.net-mvc

我正在尝试创建一个简单的方法来将名称(名字,姓氏,中间首字母)转换为公共URL友好ID(如Stackoverflow与问题标题一样)。现在人们可以输入各种各样的疯狂角色,变形金刚等等。有什么用.NET可以用来将它标准化为URL可接受/英文字符,还是我需要编写自己的方法才能完成这项工作?

谢谢!

编辑:一个例子(例如通过RegEx或其他方式)将是非常有用的! :)

4 个答案:

答案 0 :(得分:8)

听起来像你所追求的是Slug Generator

答案 1 :(得分:1)

使用UrlEncode

的简单方法

你显然必须做一些事情来处理碰撞(防止用户创建它们是合理的,但这意味着你与这个结构联系在一起)

s => Regex.Replace(HttpUtility.UrlEncode(s), "%..", "")

这依赖于UrlEncode的输出,总是使用两个字符作为编码表单,并且您很乐意将空格转换为'+'

答案 2 :(得分:0)

一个正则表达式,用于验证字符串以及您希望允许的字符和长度。

答案 3 :(得分:0)

认为你必须编写自己的方法......

角色安全列表......

A到Z

For Each c As char在SafeList中   如果安全...等 下一步

相关问题