【发布时间】:2010-10-17 09:52:18
【问题描述】:
我想知道将字符串(例如帖子标题)转换为描述性 URL 的最佳方法是什么。 想到的最简单的方法是使用正则表达式,例如:
public static Regex regex = new Regex(
"\\W+",
RegexOptions.IgnoreCase
| RegexOptions.CultureInvariant
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);
string result = regex.Replace(InputText,"_");
转身
“我的第一个(但还不错)纸杯蛋糕!!:) .//\。”
进入
my_first_yet_not_so_bad_cupcake_
然后我可以去掉最后一个“_”并对照我的数据库检查它,看看它是否还存在。在这种情况下,我会添加一个尾随数字以使其唯一并重新检查。
我可以用它,比如说
http://myblogsite.xom/posts/my_first_yet_not_so_bad_cupcake
但是,这种方式安全吗?我应该检查其他东西(比如字符串的长度) 还有其他更好的方法吗? 谢谢
【问题讨论】:
-
我会使用破折号而不是下划线。但这只是我。
-
我同意 dashes-vs-underscores 的评论——显然,stackoverflow 也是如此;)stackoverflow.com/questions/714653/…
-
也许破折号比下划线更不具有侵入性,是的,它可能会更好。
-
顺便说一句,这被称为slug。