Willcode4cash icon

ToSlug()

Willcode4cash | PRO | 10/31/16 07:52:34 PM UTC | 0 ⭐ | 299 👁️ | Never ⏰ | []
C# |

610 B

|

None

|

0 👍

/

0 👎

public static String toSlug(this string text)
{
    String value = text.Normalize(NormalizationForm.FormD).Trim();
    StringBuilder builder = new StringBuilder();
 
    foreach (char c in text.ToCharArray())
        if (CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)
            builder.Append(c);
 
    value = builder.ToString();
    byte[] bytes = Encoding.GetEncoding("Cyrillic").GetBytes(text);
    value = Regex.Replace(Regex.Replace(Encoding.ASCII.GetString(bytes), @"\s{2,}|[^\w]", " ", RegexOptions.ECMAScript).Trim(), @"\s+", "_");
 
    return value.ToLowerInvariant();
}

Comments