由于我们要把输入的控件名称取出,存入数据库中,那个我们就要获取html代码中指定标签的指定属性值。
/// <summary>
/// 获取html指定标签的指定属性值
/// </summary>
/// <param name="strHtml">html字符串</param>
/// <param name="strTagName">标签名</param>
/// <param name="strAttributeName">属性名</param>
/// <returns></returns>
public static string[] GetAttribute(string strHtml, string strTagName, string strAttributeName)
{
List<string> lstAttribute = new List<string>();
string strPattern = string.Format("<\\s*{0}\\s+.*?(({1}\\s*=\\s*\"(?<attr>[^\"]+)\")|({1}\\s*=\\s*'(?<attr>[^']+)')|({1}\\s*=\\s*(?<attr>[^\\s]+)\\s*))[^>]*>", strTagName, strAttributeName);
MatchCollection matchs = Regex.Matches(strHtml, strPattern, RegexOptions.IgnoreCase);
foreach (Match m in matchs)
{
lstAttribute.Add(m.Groups["attr"].Value);
}
return lstAttribute.ToArray();
}