.NET输出紧凑HTML
好代码,当然要保留呀。呵呵
如图:

方法一:
private static readonly Regex REGEX_LINE_BREAKS = new Regex(@"\n\s*", RegexOptions.Compiled);
private static readonly Regex REGEX_LINE_SPACE = new Regex(@"\n\s*\r", RegexOptions.Compiled);
private static readonly Regex REGEX_SPACE = new Regex(@"( )+", RegexOptions.Compiled);
protected override void Render(HtmlTextWriter writer)
{
using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new System.IO.StringWriter()))
{
base.Render(htmlwriter);
string html = htmlwriter.InnerWriter.ToString();
html = REGEX_LINE_BREAKS.Replace(html, string.Empty);
html = REGEX_LINE_SPACE.Replace(html, string.Empty);
html = REGEX_SPACE.Replace(html, " ");
writer.Write(html.Trim());
}
}
方法二:
private static readonly Regex regReplaceBlank = new Regex(">(\\s+)<", RegexOptions.IgnoreCase);
private static readonly Regex regReplaceLine = new Regex("\\s\\n", RegexOptions.IgnoreCase);
protected override void Render(HtmlTextWriter writer)
{
using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new System.IO.StringWriter()))
{
base.Render(htmlwriter);
string html = htmlwriter.InnerWriter.ToString();
html = regReplaceBlank.Replace(regReplaceLine.Replace(html, ""), "><");
writer.Write(html.Trim());
}
}
方法三:www.2cto.com
private static readonly Regex REGEX_LINE_BREAKS = new Regex(@"\n\s*", RegexOptions.Compiled);
private static readonly Regex REGEX_LINE_SPACE = new Regex(@"\n\s*\r", RegexOptions.Compiled);
private static readonly Regex REGEX_SPACE = new Regex(@"( )+", RegexOptions.Compiled);
private static readonly Regex regReplaceBlank = new Regex(">(\\s+)<", RegexOptions.IgnoreCase);
private static readonly Regex regReplaceLine = new Regex("\\s\\n", RegexOptions.IgnoreCase);
protected override void Render(HtmlTextWriter writer)
{
using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new System.IO.StringWriter()))
{
base.Render(htmlwriter);
string html = htmlwriter.InnerWriter.ToString();
html = REGEX_LINE_BREAKS.Replace(html, string.Empty);
html = REGEX_LINE_SPACE.Replace(html, string.Empty);
html = REGEX_SPACE.Replace(html, " ");
html = regReplaceBlank.Replace(regReplaceLine.Replace(html, ""), "><");
writer.Write(html.Trim());
}
}
摘自 jacky_163的专栏
相关新闻>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- Web Service学习笔记(4)
- JQuery+Asp.net MVC实现用户名重名查询
- .net架构的最后思考(箴言)
- 聊聊.net程序设计——浅谈使用VS2010建模拓展(下
- asp.net DataTable和Dataset序列化成Json格式
- MVC3+Entity Framework 实现投票系统(二)
- 使用ASP.NET MVC3+EF+Jquery制作文字直播系统(四
- .NET设计模式:工厂方法模式(Factory Method)[1]
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注
- .NET简谈互操作(四:基础知识之Dispose非托管内存



