Skip to content

Instantly share code, notes, and snippets.

@Paradroid888
Forked from onebeatconsumer/sluggenerator.cs
Created February 12, 2013 22:49
Show Gist options
  • Save Paradroid888/4774212 to your computer and use it in GitHub Desktop.
Save Paradroid888/4774212 to your computer and use it in GitHub Desktop.
Added missing RemoveAccent function
/// <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();
}
public static string RemoveAccent(this string txt)
{
byte[] bytes = System.Text.Encoding.GetEncoding("Cyrillic").GetBytes(txt);
return System.Text.Encoding.ASCII.GetString(bytes);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment