1

是否可以在 Zend Framework 2 中格式化(清理)html 输出?现在它在没有正确的换行符和制表符的情况下输出。

我知道这种方法:

$dom = new DOMDocument();
$dom->preserveWhiteSpace = FALSE;
$dom->loadHTML($html);
$dom->formatOutput = TRUE;
echo $dom->saveHTML();

但我不明白在哪里可以截获 ZF2 中的输出。任何帮助,将不胜感激。

现在所有的html代码都是在布局中创建的。

4

1 回答 1

0

您可以将侦听器附加到“完成”mvc 事件(http://framework.zend.com/manual/2.1/en/modules/zend.mvc.mvc-event.html)并让它在之前清理响应发送出去。

在您的应用程序的 module.php 中,将以下内容添加到 Module 类中。

public function onBootstrap(MvcEvent $e)
{ 
    $eventManager = $e->getApplication()->getEventManager();
    $eventManager->attach(MvcEvent::EVENT_FINISH, function(MvcEvent $e){
        $content = $e->getResponse()->getContent();
        $cleancontent = clean_up_html(content); // clean_up_html() not provided
        $e->getResponse()->setContent($cleancontent);
    });
}
于 2013-12-05T15:03:02.023 回答