Web sayfalarımızda anlamlı URL'ler oluştururken sitenizin url'sinde yazacak olan içerik başlığınız veya ürün adınız gibi text'leri belli bir standarda göre yazmanız gerekmektedir. Örneğin Türkçe karakter kullanmamanız v.s gibi.
Bundan dolayı projelerimde kullandığım bir metodu sizlerle paylaşmak istedim. Aslında aşağıdaki kod bende extension method olarak çalışmakta ama belki bu yazıyı okuyanlardan bazılarımızın extension metotun ne olduğunu bilmeyeceğini düşünerekten normal bir metoda dönüştürdüm.
public string ToSlug(string input)
{
input = input.Trim();
input = Regex.Replace(input, @"[^\w\@-]", "-").ToLower();
Dictionary<string, string> replacements = new Dictionary<string, string> { { "", "g" }, { "", "u" }, { "", "s" }, { "", "i" }, { "", "o" }, { "", "c" }, { "--", "" }, { "---", "" }, { "----", "" } };
foreach (var key in replacements.Keys)
{
input = Regex.Replace(input, key, replacements[key]);
}
while (input.IndexOf("--") > -1)
input = input.Replace("--", "-");
return input;
}