Files
SkyArtShop/Sky_Art_shop/Services/SlugService.cs

34 lines
878 B
C#
Raw Normal View History

using System.Text.RegularExpressions;
namespace SkyArtShop.Services
{
public class SlugService
{
public string GenerateSlug(string text)
{
if (string.IsNullOrWhiteSpace(text))
return string.Empty;
// Convert to lowercase
var slug = text.ToLowerInvariant();
// Replace spaces with hyphens
slug = slug.Replace(" ", "-");
// Replace & with "and"
slug = slug.Replace("&", "and");
// Remove invalid characters
slug = Regex.Replace(slug, @"[^a-z0-9\-]", "");
// Replace multiple hyphens with single hyphen
slug = Regex.Replace(slug, @"-+", "-");
// Trim hyphens from start and end
slug = slug.Trim('-');
return slug;
}
}
}