- 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;
- }
- }
參考來源:不知名網友(年代久遠已追溯不到來源)