C# Loại bỏ những ký tự lạ để làm URL cho site - the remove illegal characters
// using System.Web;
public static string RemoveIllegalCharacters(string text)
{
if (string.IsNullOrEmpty(text))
{
return text;
}
text = text.Replace(":", string.Empty);
text = text.Replace("/", string.Empty);
text = text.Replace("?", string.Empty);
text = text.Replace("#", string.Empty);
text = text.Replace("[", string.Empty);
text = text.Replace("]", string.Empty);
text = text.Replace("@", string.Empty);
text = text.Replace("*", string.Empty);
text = text.Replace(".", string.Empty);
text = text.Replace(",", string.Empty);
text = text.Replace("\"", string.Empty);
text = text.Replace("&", string.Empty);
text = text.Replace("'", string.Empty);
text = text.Replace("–", "-"); // live writer passes char 8211 this inplace of a char 45 for hyphen
text = RemoveUnicodePunctuation(text); // moves any unicode versions of punctuation
text = text.Replace(" ", "-");
text = RemoveDiacritics(text);
text = RemoveExtraHyphen(text);
return HttpUtility.HtmlEncode(text).Replace("%", string.Empty);
}
// loại bỏ những kỹ dấu
private static string RemoveDiacritics(string text)
{
var normalized = text.Normalize(NormalizationForm.FormD);
var sb = new StringBuilder();
foreach (var c in
normalized.Where(c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark))
{
sb.Append(c);
}
return sb.ToString();
}
// Loại bỏ 2 gạch nối - the text with the extra hyphen removed
private static string RemoveExtraHyphen(string text)
{
if (text.Contains("--"))
{
text = text.Replace("--", "-");
return RemoveExtraHyphen(text);
}
return text;
}
// The string with the punctuation removed.
private static string RemoveUnicodePunctuation(string text)
{
var normalized = text.Normalize(NormalizationForm.FormD);
var sb = new StringBuilder();
foreach (var c in
normalized.Where(c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.InitialQuotePunctuation &&
CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.FinalQuotePunctuation))
{
sb.Append(c);
}
return sb.ToString();
}
C# Loại bỏ những ký tự lạ để làm URL cho site - the remove illegal characters