using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using TinyPinyin.Core;
namespace Hncore.Infrastructure.Extension
{
public static class StringExtension
{
#region Url、Html编码
[DebuggerStepThrough]
public static string UrlEncode(this string target)
{
return HttpUtility.UrlEncode(target);
}
[DebuggerStepThrough]
public static string UrlEncode(this string target, Encoding encoding)
{
return HttpUtility.UrlEncode(target, encoding);
}
[DebuggerStepThrough]
public static string UrlDecode(this string target)
{
return HttpUtility.UrlDecode(target);
}
[DebuggerStepThrough]
public static string UrlDecode(this string target, Encoding encoding)
{
return HttpUtility.UrlDecode(target, encoding);
}
[DebuggerStepThrough]
public static string AttributeEncode(this string target)
{
return HttpUtility.HtmlAttributeEncode(target);
}
[DebuggerStepThrough]
public static string HtmlEncode(this string target)
{
return HttpUtility.HtmlEncode(target);
}
[DebuggerStepThrough]
public static string HtmlDecode(this string target)
{
return HttpUtility.HtmlDecode(target);
}
#endregion
#region Unicode编码
///
/// 汉字转换为Unicode编码
///
/// 要编码的汉字字符串
/// Unicode编码的的字符串
public static string ToUnicode(this string str)
{
if (string.IsNullOrEmpty(str))
{
return str;
}
StringBuilder unicode = new StringBuilder();
foreach (char chr in str)
{
// Get the integral value of the character.
int value = Convert.ToInt32(chr);
// Convert the decimal value to a hexadecimal value in string form.
string hexOutput = String.Format("{0:x}", value);
unicode.Append("\\u" + hexOutput);
}
return unicode.ToString();
}
///
/// 将Unicode编码转换为汉字字符串
///
/// Unicode编码字符串
/// 汉字字符串
public static string FromUnicode(this string unicode)
{
if (string.IsNullOrEmpty(unicode))
{
return unicode;
}
StringBuilder str = new StringBuilder();
unicode = unicode.Replace("\\u", "_");
string[] hex = unicode.Split('_');
for (int i = 1; i < hex.Length; i++)
{
int data = Convert.ToInt32(hex[i].ToString(), 16);
str.Append((char) data);
}
return str.ToString();
}
#endregion
#region 清除脚本
///
/// 清除脚本
///
///
///
public static string NoHTML(this string Htmlstring)
{
//删除脚本
Htmlstring = Regex.Replace(Htmlstring, @"", "", RegexOptions.IgnoreCase);
//删除HTML
Htmlstring = Regex.Replace(Htmlstring, @"<.*?>|&.{4,5}", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"