有童鞋詢問higrid如何 壓縮HTML,也就是說能不能 把所有的html、js、Css在運(yùn)行 " /> 激情网婷婷,在线欧洲成人免费视频,波多野结衣三区

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php壓縮HTML函數(shù)輕松實(shí)現(xiàn)壓縮html/js/Css及注意事項(xiàng)

壓縮HTML的起因
如何提高網(wǎng)頁加載速度 ,需要怎么對html頁面優(yōu)化相信是每個(gè)擬提高建站技術(shù)站長曾想到的問題,其實(shí)網(wǎng)頁優(yōu)化的方法還是很多。

有童鞋詢問higrid如何 壓縮HTML,也就是說能不能 把所有的html、js、Css在運(yùn)行前都壓縮成一行,清除注釋標(biāo)記、換行符、空格、制表符等。這樣一個(gè)直接的好處是 減小html頁面體積來提高前端加載速度。很多人認(rèn)為啟動(dòng)gzip,但一般啟動(dòng)gzip都比較少對html啟動(dòng)gzip壓縮,因?yàn)楝F(xiàn)在的html都是動(dòng)態(tài)的,不會(huì)使用瀏覽器緩存,而啟用gzip的話每次請求都需要壓縮,會(huì)比較消耗服務(wù)器資源,對js,css啟動(dòng)gzip比較好是因?yàn)閖s,css都會(huì)使用緩存。而大家也用了很多軟件過濾一下壓縮,也有 在線js/css/html壓縮工具,higrid覺得也很麻煩,可讀性很差。higrid認(rèn)為如果將壓縮功能做成一個(gè)函數(shù)的話,這樣開發(fā)者看到的是未壓縮的狀態(tài),但訪客訪問時(shí),服務(wù)端的程序?qū)?html頁面進(jìn)行壓縮,清除注釋標(biāo)記、換行符、空格、制表符等 來達(dá)到 減小了html體積的目的。 如果您經(jīng)常訪問higrid.NET, 右鍵查看一下 html源代碼 ,會(huì)看到本篇 html源代碼經(jīng)過了壓縮處理。包括higrid.NET 提供的免費(fèi)內(nèi)容管理系統(tǒng) ,輸出的都是壓縮html,去掉了空白、換行符、制表符。但higrid.NET 上面也有一些例外,就是higrid.NET 主要推薦 在線表格 、在線圖形 ,包括 jquery這些演示 ,為了方便訪客,就沒有啟動(dòng)壓縮。

因此,higrid個(gè)人覺得 壓縮html 的最大好處就是一本萬利,只要寫好了一次函數(shù),以后在需要運(yùn)用的時(shí)候調(diào)用一下就可以了,所有程序都可以使用,不會(huì)增加任何額外的開發(fā)工作。今天higrid就給大家分享幾個(gè)個(gè)人覺得好用的函數(shù),請大家不妨試試看,相信大家會(huì)喜歡。

采用php來壓縮HTML
由于higrid對 php 比較感興趣,所以使用 php來壓縮HTML,當(dāng)然使用其他語言也差不多,例如使用 ASP來壓縮HTML,道理應(yīng)該一樣的。

higrid將 壓縮html的功能用php寫成一個(gè)函數(shù) ,其實(shí)網(wǎng)上這樣的 php壓縮函數(shù) 也很多,不信你可以百度或者谷歌,但多數(shù)不是很好用,特別在 壓縮js 或 壓縮CSS 的時(shí)候,主要原因是一些 壓縮注釋 等方面不同導(dǎo)致出現(xiàn)問題。 先看這個(gè)函數(shù):
復(fù)制代碼 代碼如下:
/**
* 壓縮html : 清除換行符,清除制表符,去掉注釋標(biāo)記
* @param $string
* @return壓縮后的$string
* */
function compress_html($string){
$string=str_replace("/r/n",'',$string);//清除換行符
$string=str_replace("/n",'',$string);//清除換行符
$string=str_replace("/t",'',$string);//清除制表符
$pattern=array(
"/> *([^ ]*) *</",//去掉注釋標(biāo)記
"/[/s]+/",
"/<!--[^!]*-->/",
"http://" /",
"/ /"/",
"'//*[^*]*/*/'"
);
$replace=array (
">//1<",
" ",
"",
"/"",
"/"",
""
);
return preg_replace($pattern, $replace, $string);
}

php來壓縮HTML注意事項(xiàng)
php來壓縮HTM 實(shí)現(xiàn)的方式主要是用正則表達(dá)式去查找,替換。在html壓縮的時(shí)候,主要要注意下面幾點(diǎn):

1.HTML 文檔中,多個(gè)空白字符等價(jià)為一個(gè)空白字符。也就是說換行等空白字符的刪除是不安全的,有可能導(dǎo)致部分元素的樣式產(chǎn)生差異。
2.html中有一個(gè)pre, 表示 preformatted text. 里面的任何空白,都不能被刪除,因此pre,textarea 標(biāo)簽里面的內(nèi)容格式需要保留,不能壓縮。
3.HTML 中有可能有 IE 條件注釋。這些條件注釋是文檔邏輯的一部分,不能被刪除。因此去掉html注釋的時(shí)候,有些注釋是不能去掉的,比如:
4.壓縮嵌入式j(luò)s中的注釋要注意,因?yàn)榭赡茏⑨尫枙?huì)出現(xiàn)在字符串中,比如: var url = "http://www.higrid.NET"; // 前面的//不是注釋
5.對于動(dòng)態(tài)頁面來說,HTML 的壓縮有可能還會(huì)增加服務(wù)器的 CPU 負(fù)擔(dān),得不償失

higrid使用的php壓縮html函數(shù)代碼
由于注釋對代碼有作用,higrid使用的php壓縮html函數(shù)代碼 沒有去掉注釋,直接上代碼。
復(fù)制代碼 代碼如下:
function higrid_compress_html($higrid_uncompress_html_source )
{
$chunks = preg_split( '/(<pre.*?//pre>)/ms', $higrid_uncompress_html_source, -1, PREG_SPLIT_DELIM_CAPTURE );
$higrid_uncompress_html_source = '';//[higrid.NET]修改壓縮html : 清除換行符,清除制表符,去掉注釋標(biāo)記
foreach ( $chunks as $c )
{
if ( strpos( $c, '<pre' ) !== 0 )
{
//[higrid.NET] remove new lines & tabs
$c = preg_replace( '/[//n//r//t]+/', ' ', $c );
// [higrid.NET] remove extra whitespace
$c = preg_replace( '///s{2,}/', ' ', $c );
// [higrid.NET] remove inter-tag whitespace
$c = preg_replace( '/>//s</', '><', $c );
// [higrid.NET] remove CSS & JS comments
$c = preg_replace( '//////*.*?//*////i', '', $c );
}
$higrid_uncompress_html_source .= $c;
}
return $higrid_uncompress_html_source;
}

php壓縮html函數(shù)代碼總結(jié)
有些童鞋不 推薦壓縮html , 主要原因除了上面所說的 php來壓縮HTML注意事項(xiàng) 外,通過 gzip 壓縮已經(jīng)能達(dá)到很好的效果。另外,因?yàn)楫a(chǎn)生影響HTML的角色太多(靜態(tài),動(dòng)態(tài),前端動(dòng)態(tài)),也沒什么量化指標(biāo),所以很難控制壓縮成什么樣(代碼寫成什么程度)。代碼更需要考慮執(zhí)行效率,而不是傳輸效率。對于動(dòng)態(tài)頁面來說,HTML 的壓縮有可能還會(huì)增加服務(wù)器的 CPU 負(fù)擔(dān),得不償失。Google的壓縮網(wǎng)頁 是因?yàn)樵缙谒M醉撐谋颈M可能控制在一個(gè)或兩個(gè)包內(nèi),而且他的首頁太重要了,流量也很離譜。壓縮一個(gè)字節(jié),總流量一算都是個(gè)不小的數(shù)字,自然也就是必要之舉了。進(jìn)一步的壓縮存在問題,除非能像 Google 一樣充分測試(Google 也僅壓縮了少部分核心服務(wù)的頁面),否則不推薦對 HTML 進(jìn)行壓縮處理。

但使用higrid.NETphp壓縮html函數(shù) 代碼,能很好的解決這個(gè)問題。好了,還不快試試。

php技術(shù)php壓縮HTML函數(shù)輕松實(shí)現(xiàn)壓縮html/js/Css及注意事項(xiàng),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩一区二区国色天香 | 91在线 在线播放 | 五月婷婷综合激情 | 东方伊人免费在线观看 | 四虎在线免费观看视频 | 国产乱码一区二区三区四川人 | 国产激情视频在线播放 | 巨臀中文字幕一区二区翘臀 | 国产中文字幕视频在线观看 | 亚洲精品午夜级久久久久 | 国产大陆亚洲精品国产 | 日韩图色 | 无毛片 | 日韩中文字幕久久久经典网 | 国产成人在线小视频 | 午夜在线视频免费观看 | 五月综合激情网 | 欧美黑人巨大日本人又爽又色 | 久草1| 99视频精品全部在线播放 | 国内精品美女久久久久 | 亚洲最大免费视频网 | 久久青青草原精品国产软件 | 婷婷国产偷v国产偷v亚洲 | 国产叼嘿久久精品久久 | fefe66毛片免费看 | 国产成人在线视频网站 | 欧美成人三级网站 | 国产精品久久精品福利网站 | 国产精品一区二区三区四区五区 | 91正在 播放| 午夜视频免费在线 | 国产精自产拍久久久久久蜜 | 91国偷自产一区二区三区 | 激情文学激情图片 | 久久一区二区精品 | 成人福利在线观看免费视频 | 91精品福利在线 | 久久婷婷国产精品香蕉 | 免费国产一区二区在免费观看 | 91精品福利在线观看 |