我从这个问题中得到了以下代码:What is the best way to clean a string for placement in a URL, like the question name on SO?
$str = strtolower(
preg_replace( array('/[^a-z0-9\- ]/i', '/[ \-]+/'), array('', '-'),
$urlPart ) );
这段代码适用于PHP,它只需一行即可完成SEO和SEO的URL,但我希望在我的ASP.NET(C#)应用程序中使用相同的脚本。但是不知道C#中这行的代码是什么。任何人都可以将这个PHP代码转换为C#函数。
由于
答案 0 :(得分:1)
为了简单起见,使用两个正则表达式替换调用可能最简单,但是可以使用Replace
重载{/ 1}}将其重写为一个({1}}会有点hacky)。
MatchEvaluator
希望有所帮助。
答案 1 :(得分:0)
由于睡眠不足,我可能会遗漏一些东西..但你不能只是这样做:
var myUrl = HttpUtility.UrlEncode(UrlToEncode);
做短划线编码...
var myUrl = HttpUtility.EncodeUrl(UrlToEncode.Replace(" ", "-"));