如何用php压缩html代码并输出
原文地址:http://www.shuchengxian.com/article/22.html
站长朋友们都知道,网页越小,打开的速度就是越快,对于SEO有帮助。所以,我们往往会问用php如何压缩html代码?怎么让代码变成一行,压缩输出。常常看到别人网页上的html代码都是压缩之后输出的,那么我们如何操作呢?
因为本人使用的是php语言,所以这里告诉php的压缩函数,下方说明方法:
第一步,你需要对php的设置如下:
php.ini:output_buffering = Offoutput_handler = ob_gzhandlerzlib.output_compression = Offzlib.output_compression_level = -1
第二步,你需要在apache下增加如下设置:
AddOutputFilter DEFLATE html php js css
这样就可以对html php js css进行gzip压缩了。
第三步,你需要使用如下php压缩html并输出到客户端的函数:
function compress_html($string) {return ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'),array(">\\1<",'','','','','','><'),$string)));}
上面的这个正则表达式,很强大的哦,经过我本人亲自测试可使用。
通过以上方法,你就可以将你的html代码压缩然后输出给客户端了。不信你可以查看源代码,就是一行,网页瞬间压缩很小。
拓展:
这里有两种压缩html代码的方式。
第一种:只压缩html代码,不压缩js,jq中的空行,换行等。
$str = preg_replace("~>\s+<~", "><",preg_replace("~>\s+\r\n~", ">", $str));
压缩之后的结果显示,除了js,jq的代码除外,其他的代码都是一行。
第二种:只要是页内的代码全部的压缩,包括js、jq。
$str = ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'),array(">\\1<",'','','','','','><'),$str)));
压缩之后的结果就是一行,不管js、jq。
这里要是页面中的js、jq都已经抽出去之后,可以使用第二种方式,这样压缩的更加的彻底。要是页面中的js、jq没有抽取干净的话,我建议还是采用第一种方式只压缩网页中除了js、jq以外的html元素。
如何用php压缩html代码并输出相关推荐
- 嵌入式linux硬件成本,嵌入式Linux驱动和固件有何区别?供应商是如何用固件压缩成本的?...
原标题:嵌入式Linux驱动和固件有何区别?供应商是如何用固件压缩成本的? 作为一个驱动开发者, 你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面. 硬件市场的许多地方的竞争是如此得强烈, ...
- python9行代码_如何用9行Python代码编写一个简易神经网络
原标题:如何用9行Python代码编写一个简易神经网络 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 学习人工智能时,我给自己定了一个目标--用Pyth ...
- 雷达回波脉冲压缩python代码
雷达回波脉冲压缩Python代码 雷达发射LFM信号 参数如下: 中心频率 f c = 10 G H z f_c=10GHz fc=10GHz 脉冲宽度 T = 5 μ s T=5\mu s T=5 ...
- 14- webpack 压缩 html 代码
在 10-webpack自动生成 index.html 之后,开始使用 html-webpack-plugin 自动生成的 html 文件,压缩功能也要通过他来完成. 一.编辑 webpack.con ...
- 解决 webpack4 中无法压缩 CSS 代码的问题
在webpack4中,我们可以使用 optimize-css-assets-webpack-plugin 插件来压缩 CSS 代码(具体内容可结合该插件的官网:https://www.npmjs.co ...
- es6语法转es5并压缩混淆代码
es6语法转es5并压缩混淆代码,对兼容和性能做优化 需求分析 1.用es6的语法写了一个工具类 2.需要兼容除chrome外较新的浏览器 3.隐藏源码.缩小网络消耗 利用工具 babel 用于es6 ...
- 如何用gcc编译C代码
如何用gcc编译C代码 1.编写 hello word 的两种方法--现成编译器 这个方法大家都经常用,比如DEVCpp,Visual Studio 2017,Visual C++ 6.0等. 简单的 ...
- uglifyjs 压缩js代码使用指南
UglifyJS--javascript代码压缩使用指南{转} 在线测试地址 http://lisperator.net/uglifyjs/ 下面都是基于linux系统的安装使用. UglifyJS是 ...
- Linux oracle数据库自动备份自动压缩脚本代码
Linux oracle数据库自动备份自动压缩脚本代码 Linux oracle数据库备份完成后可以自动压缩脚本代码. 复制代码代码如下: #!/bin/bash #backup.sh #edit: ...
最新文章
- POJ_1195 Mobile phones 【二维树状数组】
- android 虚拟设备的用法
- 【Qt笔记】对象模型
- Linux命令(15)——hostname、wc、ps、kill
- java web远程调试工具_java远程调试 - Dendy的个人页面 - OSCHINA - 中文开源技术交流社区...
- 利用VBS合并Excel中相同单元格
- Linux在终端搜索的两条命令
- 从携程事件给我们警示
- adb for linux的工具包,adb工具包下载_adb工具包官方下载「最新版」-太平洋下载中心...
- 家庭农场海边作弊工具的Andr​​oid的ios
- flutter ListView.separated 带分割线
- 美团饿了么外卖cps项目怎么做?谈谈我的推广方法与经验感悟
- 每日一问 --发信机和收信机对信号做了那些处理?
- java9新特性-4-模块化系统: Jigsaw与Modularity
- java中遍历HashMap的方法
- Java的编程之旅——idea上新建文件
- python turtle方向_Python turtle.left()用法及代码示例
- 【C#】VS编写简单的网游客户端
- 高逼格的年终总结怎么写?这是我见过最系统的写法
- pdn阻抗测试_毫欧级电源分配网络PDN的输出阻抗和传输阻抗测量
热门文章
- 如何去管理你的知识管理?
- 航测空三用的软件_干货 16个倾斜摄影航测业内软件的常见问题 这样解决
- linux奶瓶U盘使用方法,U盘安装BEINI(奶瓶)教程+多功能启动
- C++围棋小游戏1.2
- Linux使用wine完美运行QQ2011(Ubuntu10.10)
- 百度前端学院--斌斌学院--demo---7
- iOS内购遇到刷单问题
- LaTeX插入图表模板
- MPB:韩东飞、郝光飞等细菌转录组分析样品制备方法
- python卸载opencv包_Ubuntu下安装与卸载opencv模块