Skip to content

Instantly share code, notes, and snippets.

@KABBOUCHI
Forked from paracycle/sluggenerator.cs
Created July 10, 2017 20:11
Show Gist options
  • Save KABBOUCHI/50028675f9607286657f882cff870061 to your computer and use it in GitHub Desktop.
Save KABBOUCHI/50028675f9607286657f882cff870061 to your computer and use it in GitHub Desktop.
Slug Generator - C# - String Extension Method
/// <summary>
/// Generates a permalink slug for passed string
/// </summary>
/// <param name="phrase"></param>
/// <returns>clean slug string (ex. "some-cool-topic")</returns>
public static string GenerateSlug(this string phrase)
{
var s = phrase.RemoveAccent().ToLower();
s = Regex.Replace(s, @"[^a-z0-9\s-]", ""); // remove invalid characters
s = Regex.Replace(s, @"\s+", " ").Trim(); // single space
s = s.Substring(0, s.Length <= 45 ? s.Length : 45).Trim(); // cut and trim
s = Regex.Replace(s, @"\s", "-"); // insert hyphens
return s.ToLower();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment