in src/SimplCommerce.Infrastructure/Helpers/StringHelper.cs [10:41]
public static string ToUrlFriendly(this string name)
{
// Fallback for product variations
if (string.IsNullOrWhiteSpace(name))
{
return Guid.NewGuid().ToString();
}
name = name.ToLower(CultureInfo.CurrentCulture);
name = RemoveDiacritics(name);
name = ConvertEdgeCases(name);
name = name.Replace(" ", "-", StringComparison.OrdinalIgnoreCase);
name = name.Strip(c =>
c != '-'
&& c != '_'
&& !Char.IsLetter(c)
&& !Char.IsDigit(c)
);
while (name.Contains("--", StringComparison.OrdinalIgnoreCase))
name = name.Replace("--", "-", StringComparison.OrdinalIgnoreCase);
if (name.Length > 200)
name = name.Substring(0, 200);
if (string.IsNullOrWhiteSpace(name))
{
return Guid.NewGuid().ToString();
}
return name;
}