2011-07-12 4 views
11

私はTwigに{%spaceless%}フィルタがありますが、htmlタグ間のスペースのみを削除していることがわかります。Symfony2でhtml出力を圧縮するには?

サイトのすべてのページに1行のhtmlを返す必要があります。私はそれに対処することができる正規表現を持っていますが、sf2でどこを使うべきかはわかりません。すべてが自動的に起こるからです。

は、私は新しいテンプレートエンジンを登録、または小枝の拡張子を追加する必要があると思いますが、私は主題について十分なドキュメントを見つけることができませんでしたので、私は

任意のアイデアがこだわっていますか?

答えて

10

すべてのビュー出力で正規表現を実行するには、symfony2フレームワークによって送出されるkernel.responseイベントにフックできます。 kernel.response上のセクションから

は、このイベントの目的は、他のシステムが変更または その作成した後、Responseオブジェクトを交換できるようにすることです:

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

    // ... modify the response object 
} 

私が推薦します詳細についてはInternalsの章をお読みください。

+1

はい私は確信しています。私は、スペースレスフィルタはそれを行うためのものだとは思わないので、バグとして報告することはできません。 htmlタグ間のスペースだけを削除します。 – HappyDeveloper

+0

時にはそれができない場合もあります。私は自分のコードでhtmlタグの間に多くの改行があるので、いつものように私自身のregexpを実行したいだけですが、このフレームワークでどうやってやるのか分かりません。 – HappyDeveloper

+0

更新された回答。 –

関連する問題