有时候我们需要动态生成html内容保存到数据库或者服务器地址,但是用javascript做这样的代码提取成字符串的话不同的浏览器得到的结果不同,主要是大小写区别,比如ie8得到的是大写的标签,火狐得到的是小写。其实大小写也没什么影响,但是在比较特殊的情况下就不行了。如果你将得到的html代码在一个模版中运用,模版中又有对html操作的javascript代码,而代码中有根据标签操作的方法,那么javascript中是区分标签的大小写的,这时候就不统一了。
那这时候唯一的方法就是下面的方法:对html代码进行处理,使大写标签改为消协标签,在模版中的javascript代码中一律用小写形式。问题得到解决。
public static string htmlToLower(string htmls)
{
MatchCollection matchs = Regex.Matches(htmls, @"(?<tag><[^\s>]+\s)|(?<tag><[^\s>]+>)");
Regex.Replace("", "", "");
foreach (Match match in matchs)
{
string tag = match.Value.ToLower();
htmls=htmls.Replace(match.Value, tag);
}
return htmls;
}