Is there a better approach to minimize html created on aspx page

I use the following code to minimize the html generated at aspx runtime.

protected override void Render(HtmlTextWriter writer)
{
    TextWriter output = new StringWriter();
    base.Render(new HtmlTextWriter(output));
    String html = output.ToString();
    html = Regex.Replace(html, @"\n|\t", " ");
    html = Regex.Replace(html, @">\s+<", "><").Trim();
    html = Regex.Replace(html, @"\s{2,}", " ");

    writer.Write(html);
}

Is there a better approach to doing the same.

Thank you very much.

+3
source share
2 answers

Yes, using Html Tidy or even an HTTP module .

+2
source
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.Replace(html, @"(?<=[^])\t{2,}|(?<=[>])\s{2,}(?=[<])|(?<=[>])\s{2,11}(?=[<])|(?=[\n])\s{2,}", "");
        html = Regex.Replace(html, @"[ \f\r\t\v]?([\n\xFE\xFF/{}[\];,<>*%&|^!~?:=])[\f\r\t\v]?", "$1");
        html = html.Replace(";\n", ";");
        writer.Write(html);
    }
}
+1
source

Source: https://habr.com/ru/post/1750517/


All Articles