How to compress html output in Symfony2?

7.7k views Asked by At

I know Twig has a {% spaceless %} filter, but it only removes spaces between html tags.

I need to return a single line of html for every page in the site. I have a regexp that can deal with that, but I don't know where to use it in sf2, since everything happens automagically.

I think I have to register a new templating engine, or add a twig extension, but I couldn't find enough documentation about the subject, so I'm stuck

Any ideas?

1

There are 1 answers

5
Stephen Watkins On BEST ANSWER

To run your regex on all view output, you can hook into the kernel.response event that is dispatched by the Symfony2 framework.

From the section on kernel.response:

The purpose of this event is to allow other systems to modify or replace the Response object after its creation:

public function onKernelResponse(FilterResponseEvent $event)
{
    $response = $event->getResponse();

    // ... modify the response object
}

I would recommend reading the Internals chapter for even more details.