ASP.NET特殊字符串替换函数

using System;

using System.Collections.Generic;

using System.Text;

using System.Text.RegularExpressions;

/// <summary>

/// 对字符串进行检查和替换其中的特殊字符

/// </summary>

/// <param name="strHtml"></param>

/// <returns></returns>

public static string HtmlToTxt(string strHtml)

{

string[] aryReg ={

@"<script[^>]*?>.*?</script>",

@"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",

@"([\r\n])[\s]+",

@"&(quot|#34);",

@"&(amp|#38);",

@"&(lt|#60);",

@"&(gt|#62);",

@"&(nbsp|#160);",

@"&(iexcl|#161);",

@"&(cent|#162);",

@"&(pound|#163);",

@"&(copy|#169);",

@"&#(\d+);",

@"-->",

@"<!--.*\n"

};

string newReg = aryReg[0];

string strOutput = strHtml;

for (int i = 0; i < aryReg.Length; i++)

{

Regex regex = new Regex(aryReg[i], RegexOptions.IgnoreCase);

strOutput = regex.Replace(strOutput, string.Empty);

}

strOutput.Replace("<", "");

strOutput.Replace(">", "");

strOutput.Replace("\r\n", "");

return strOutput;

}

=================另外两个函数=====================

/// <summary>

/// 替换html中的特殊字符

/// </summary>

/// <param name="theString">需要进行替换的文本。</param>

/// <returns>替换完的文本。</returns>

public string HtmlEncode(string theString)

{

theString = theString.Replace(">", "&gt;");

theString = theString.Replace("<", "&lt;");

theString = theString.Replace(" ", "&nbsp;");

theString = theString.Replace(" ", "&nbsp;");

theString = theString.Replace("\"", "&quot;");

theString = theString.Replace("\'", "'");

theString = theString.Replace("\n", "<br/> ");

return theString;

}

/// <summary>

/// 恢复html中的特殊字符

/// </summary>

/// <param name="theString">需要恢复的文本。</param>

/// <returns>恢复好的文本。</returns>

public string HtmlDiscode(string theString)

{

theString = theString.Replace("&gt;", ">");

theString = theString.Replace("&lt;", "<");

theString = theString.Replace("&nbsp;", " ");

theString = theString.Replace("&nbsp;", " ");

theString = theString.Replace("&quot;", "\"");

theString = theString.Replace("'", "\'");

theString = theString.Replace("<br/> ", "\n");

return theString;

}