闭合HTML标签和添加开始HTML标签
//基本想要得功能实现了,但在添加的标签顺序还有点问题
#region 闭合HTML代码
public string CloseHTML(string str)
{
string[] HtmlTag = new string[] { "ul", "font", "b", "u", "i", "a", "h1", "h2", "h3", "h4", "h5", "h6", "tr", "td", "span", "div", "table", "p" };
for (int i = 0; i < HtmlTag.Length; i++)
{
int OpenNum = 0, CloseNum = 0;
Regex re = new Regex("\\<" + HtmlTag[i] + "( [^\\<\\>]+|)\\>", RegexOptions.IgnoreCase);
MatchCollection m = re.Matches(str);
if (m != null)
{
OpenNum = m.Count;
}
re = new Regex("\\<\\/" + HtmlTag[i] + "\\>", RegexOptions.IgnoreCase);
m = re.Matches(str);
if (m != null)
{
CloseNum = m.Count;
}
for (int j = 0; j < OpenNum - CloseNum; j++)
{
str += "</" + HtmlTag[i] + ">";
}
}
return str;
}
#endregion
#region 添加开始HTML代码
public string OpenHTML(string str)
{
string[] HtmlTag = new string[] { "ul", "font", "b", "u", "i", "a", "h1", "h2", "h3", "h4", "h5", "h6", "tr", "td", "span", "div", "table", "p" };
for (int i = 0; i < HtmlTag.Length; i++)
{
int OpenNum = 0, CloseNum = 0;
Regex re = new Regex("\\<\\/" + HtmlTag[i] + "\\>", RegexOptions.IgnoreCase);
MatchCollection m = re.Matches(str);
if (m != null)
{
OpenNum = m.Count;
}
re = new Regex("\\<" + HtmlTag[i] + "( [^\\<\\>]+|)\\>", RegexOptions.IgnoreCase);
m = re.Matches(str);
if (m != null)
{
CloseNum = m.Count;
}
for (int j = 0; j < OpenNum - CloseNum; j++)
{
str = "<" + HtmlTag[i] + ">" + str;
}
}
return str;
}
#endregion