如何在PhalconPHP中缩小HTML代码

时间:2014-07-16 20:56:53

标签: php phalcon

我将phalconphp框架用于我的测试项目。

我有简单的控制器,代码如下:

$this->view->setVar('myData', $data);

PhalconPHP中是否有任何工具可以在视图中缩小HTML代码?

谢谢!

2 个答案:

答案 0 :(得分:1)

此时尚无法内置。 但是已经使用这个函数来实现minify选项。

function minifyHTML($content)
{
    $start = strpos( $content, '[#strip#]');

    if ($start > 0) {

        $end = strpos($content, '[#endstrip#]');

        $part =  substr($content,$start, $end - $start + 12);

        $content = str_replace($part,str_replace(array("\r", "\n", "\t" , 
            '[#strip#]', '[#endstrip#]'), '' , $part) , $content);

        if(strpos( $content, '[#strip#]') > 0)
            $content = stripHTML($content);
    }
    return $content;
}

然后在你的伏特文件中使用它。但请确保使用制表符作为缩进而不是伏特文件中的空格。另外[#strip#]标签也不允许嵌套。

<!DOCTYPE html>
<html lang="nl">
<head>[#strip#]
    <meta charset="utf-8">
    {% block head %}
        {{ assets.outputCss() }}
    {% endblock %}
    <title>{% block title %}{% endblock %}</title>
[#endstrip#]</head>
<body>
{% block content %}
{% endblock %}
{% block script %}
    [#strip#]{{ assets.outputJs() }}[#endstrip#]
{% endif %}
{% endblock %}
</body>
</html>

最后在你的句柄上使用它() - &gt; getContent()。

$application = new \Phalcon\Mvc\Application($di);
echo minifyHTML( $application->handle()->getContent());

答案 1 :(得分:0)

CSS和JavaScript通过内置函数缩小,如您所见:http://docs.phalconphp.com/en/latest/reference/assets.html#minification-filtering

似乎没有用于缩小HTML的工具,因为这样做并不常见。但是考虑编写自己的&#34; minify&#34; -function。没有太多事情可做,因为换行符对HTML代码没有影响,您可以在输出中删除它们,如下所示:

str_replace(array("\r\n", "\r"), "", $output);

此外 - 如果您不在内容中使用多个空格 - 您可以删除标签,换行符和空格,如下所示:

preg_replace("/\s+/", " ", $string);