Yii 2.x html 代码压缩

<?php

namespace Pangu\web;

use yii\base\Component;

/**
 * html格式响应内容格式化
 * @author zhouzhian
 *
 */
class HtmlResponseFormatter extends \yii\web\HtmlResponseFormatter
{

    /**
     * 格式化响应内容
     */
    public function format($response)
    {
        if (stripos($this->contentType, ‘charset‘) === false) {
            $this->contentType .= ‘; charset=‘ . $response->charset;
        }
        $response->getHeaders()->set(‘Content-Type‘, $this->contentType);
        if ($response->data !== null) {
            $tmplContent = $response->data;
            // 去除html空格与换行
            $find           = array("~>\s+<~","~>(\s+\n|\r)~");
            $replace        = array(‘><‘,‘>‘);
            $tmplContent    = preg_replace($find, $replace, $tmplContent);
            $response->content = $tmplContent;
        }
    }
}
时间: 2024-10-05 04:01:48

Yii 2.x html 代码压缩的相关文章

使用gulp进行代码压缩

gulp是一个很不错前端自动化工具,可以帮我们完成一些重复性操作,比如html.css和js代码的压缩.合并.混淆等,虽然这些操作可以通过一些在线工具帮我们实现,但不断重复地复制粘贴肯定比不上一句命令来得方便,所以编写gulp任务可以大大提高程序员的开发效率. 因为gulp依赖于node环境,所以想使用gulp必须先安装好node.另外gulp本身是一个轻量化内核,自身拥有的api不多,所以很多功能需要依赖插件完成.关于html.css和js代码压缩的插件有三个,分别是gulp-htmlmin.

apicloud代码压缩和全局加密

首先说代码压缩,因为没什么用,就先说它了.代码压缩后,apicloud里面的css和js文件里面的空格呀回车呀都去掉了,就是文件小了,所有代码显示为一行了.这些代码的变量没有重命名,我们知道jquery.min.js里面的很多变量是重命名了的,都是变为a呀,b呀什么的.apicloud之所以不重命名,是因为它的html没有压缩,是和原来一样的,所以说,如果js重命名了,但html又没重命名的话,你懂的,名字对应不上,会出大乱子. 代码压缩的作用一般是什对网站的,文件体积变小,节省流量,加载更快,

Angular.js 学习二---$scope和$rootScope,Angular模块的run方法,依赖注入中代码压缩

一.$scope和$rootScope的区别 一句话总结: $rootScope针对全局的作用域生效 $scope只针对当前的controller作用域生效 二.AngularJS模块的run方法 run方法初始化全局的数据,只对全局作用域起作用 如$rootScope <script type="text/javascript"> var m1 = angular.module('myApp', []); m1.run(['$rootScope', function ($

Asp.Net MVC 页面代码压缩筛选器-自定义删除无效内容

Asp.Net MVC 页面代码压缩筛选器 首先定义以下筛选器,用于代码压缩. /*页面压缩 筛选器*/ public class WhiteSpaceFilter : Stream { private Stream _shrink; private Func<string, string> _filter; public WhiteSpaceFilter(Stream shrink, Func<string, string> filter) { _shrink = shrink;

Angularjs MVC 以及 $scope 作用域 Angularjs 模块 的 run 方法 以及依赖注入中代码压缩问题

Angularjs MVC 以及 $scope 作用域 Angularjs 模块的 run 方法 以及依赖注入中代码压缩问题 1. Angularjs MVCModel:数据模型层View:视图层,负责展示Controller:业务逻辑和控制逻辑优点: 代码模块化 代码逻辑比较清晰.可移值性高,后期维护方便.代码复用,代码规模越来越大的时候,切分职责是大势所趋缺点:运行效率稍微低一些2. Angularjs $scope 作用域1. $scope 多控制器单独作用域<!DOCTYPE html>

UglifyJS--javascript代码压缩使用指南{转}

在线测试地址 http://lisperator.net/uglifyjs/下面都是基于linux系统的安装使用.UglifyJS是遵循了CommonJS规范写成的,可以在支持CommonJS模块系统的javascript环境中运行.当然,这是官方的说法,通俗的说,就是可以在浏览器里和node.js的环境中兼可运行了. UglifyJS的作者在今年9月份的时候,开始了UglifyJS2的项目,作者本人也是比较推崇UglifyJS2,因此,本文就只是关于UglifyJS2的一些介绍.下文中所有的U

angularjs1-2,作用域、代码压缩

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" src="angular.min.js">

webpack -- 代码压缩

一.代码压缩坑 正常情况下,如果我们配置生成环境,webpack会自动帮js压缩,必须配置--mode=production scripts: { "build": "webpack --mode-production" } 但是如果我们要把css也压缩的话,问题就来了,css压缩 npm install optimize-css-assets-webpack-plugin --save-dev npm install cssnano --save-dev 调用 c

iOS一行代码压缩图片大小

现在基本所有应用都与图片相关联,这就必然涉及到上传下载图片,而用户的流量又迟迟没有被解放,因此图片就不能太大,我们知道iPhone一张照片动辄几M,如果都传原图那流量就会爆炸,粗暴地缩小又会影响图片的分辨率.那有没有办法在保持一定分辨率的情况下压缩图片呢?有的,而且非常简单,一行代码搞定,是苹果自带的压缩函数: UIImageJPEGRepresentation UIImagePNGRepresentation 这两个函数都是iOS自带的图片压缩工具.一个是压成JPEG格式,一个是压成PNG格式