.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的专栏
相关新闻>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- ASP.NET数据格式的Format--DataFormatString
- Asp.net MVC源码分析--Model Validation(Client端)实现(2)
- 教你如何来恢复一个丢失的数据文件
- asp.net js模拟Button点击事件
- Pro ASP.NET MVC 3 Framework学习笔记之九
- MVC中一个表单实现多个提交按钮(一个action搞定
- 微软ASP.NET站点部署指南(11):部署SQL Server数据
- winform下通过webclient使用非流方式上传(post)数据和
- 谈.Net委托与线程——创建无阻塞的异步调用(一
- asp.net 六大内置对象(2)