using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// HtmlRemoval 的摘要描述
/// </summary>
using System;
using System.Text.RegularExpressions;
/// <summary>
/// Methods to remove HTML from strings.
/// </summary>
public static class HtmlRemoval
{
/// <summary>
/// Remove HTML from string with Regex.
/// </summary>
public static string StripTagsRegex(string source)
{
return Regex.Replace(source, "<.*?>", string.Empty);
}
/// <summary>
/// Compiled regular expression for performance.
/// </summary>
static Regex _htmlRegex = new Regex("<.*?>", RegexOptions.Compiled);
/// <summary>
/// Remove HTML from string with compiled Regex.
/// </summary>
public static string StripTagsRegexCompiled(string source)
{
return _htmlRegex.Replace(source, string.Empty);
}
/// <summary>
/// Remove HTML tags from string using char array.
/// </summary>
public static string StripTagsCharArray(string source)
{
char[] array = new char[source.Length];
int arrayIndex = 0;
bool inside = false;
for (int i = 0; i < source.Length; i++)
{
char let = source[i];
if (let == '<')
{
inside = true;
continue;
}
if (let == '>')
{
inside = false;
continue;
}
if (!inside)
{
array[arrayIndex] = let;
arrayIndex++;
}
}
return new string(array, 0, arrayIndex);
}
/// <summary>
/// 尋找及取代 Visual C#.NET 中的 XML 檔案中的特殊字元
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static string StripTagsRestore(string source)
{
string Rsource = source;
try
{
Rsource = Rsource.Replace("&", "&");
Rsource = Rsource.Replace("<", "<");
Rsource = Rsource.Replace(">", ">");
Rsource = Rsource.Replace("&quto;", "\"");
Rsource = Rsource.Replace("'", "'");
}
catch (System.Exception)
{
//throw;
}
return Rsource;
}
}
參考來源:不知名網友(年代久遠已追溯不到來源)