using System; using System.Globalization; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; namespace MediaBrowser.Common.Extensions { /// /// Class BaseExtensions /// public static class BaseExtensions { /// /// Strips the HTML. /// /// The HTML string. /// System.String. public static string StripHtml(this string htmlString) { // http://stackoverflow.com/questions/1349023/how-can-i-strip-html-from-text-in-net const string pattern = @"<(.|\n)*?>"; return Regex.Replace(htmlString, pattern, string.Empty).Trim(); } public static string RemoveDiacritics(this string text) { return String.Concat( text.Normalize(NormalizationForm.FormD) .Where(ch => CharUnicodeInfo.GetUnicodeCategory(ch) != UnicodeCategory.NonSpacingMark) ).Normalize(NormalizationForm.FormC); } /// /// Gets the M d5. /// /// The STR. /// Guid. public static Guid GetMD5(this string str) { using (var provider = MD5.Create()) { return new Guid(provider.ComputeHash(Encoding.Unicode.GetBytes(str))); } } /// /// Gets the MB id. /// /// The STR. /// The type. /// Guid. /// type [Obsolete("Use LibraryManager.GetNewItemId")] public static Guid GetMBId(this string str, Type type) { if (type == null) { throw new ArgumentNullException("type"); } var key = type.FullName + str.ToLower(); return key.GetMD5(); } } }