欧美极品在线观看不卡|国产精品Va免费视频|国产国产人无码在线免费|亚洲精品无码九九九九九|亚洲国产综合精品久久久久|成人国产在线观看高清不卡|制服诱惑一区二区三区六区|国产一区二区精品高清在线观看

新聞中心

如何使用php壓縮HTML函數(shù)

作者 / 無(wú)憂(yōu)主機(jī) 時(shí)間 2014-05-31 16:42:02

有站長(zhǎng)朋友問(wèn)無(wú)憂(yōu)主機(jī)小編:如何提高網(wǎng)頁(yè)加載速度?如何對(duì)html頁(yè)面優(yōu)化,相信是每個(gè)想提高建站技術(shù)的站長(zhǎng)曾想的問(wèn)題,其實(shí)網(wǎng)頁(yè)優(yōu)化的方法有很多種。下面小編就來(lái)給大家分享一下如何用php來(lái)壓縮HTML。 采用php來(lái)壓縮HTML 由于小編對(duì)php比較熟悉,所以使用php來(lái)壓縮HTML, 小編壓縮html的功能用php寫(xiě)成一個(gè)函數(shù) ,其實(shí)大家百度這樣的php壓縮函數(shù)有很多,但很多都不是很好用,特別是在壓縮js或壓縮CSS 的時(shí)候,主要原因就是一些壓縮注釋等方面不同導(dǎo)致的問(wèn)題。函數(shù)如下: /** * 壓縮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]+/", "/<!--[^!]*-->/", "/\" /", "/ \"/", "'/\*[^*]*\*/'" ); $replace=array ( ">\\1<", " ", "", "\"", "\"", "" ); return preg_replace($pattern, $replace, $string); } php來(lái)壓縮HTML注意事項(xiàng) php來(lái)壓縮HTML實(shí)現(xiàn)的方式主要是用正則表達(dá)式去查找和替換。在html壓縮的時(shí)候,小編提醒大家主要注意下面幾點(diǎn): 1.HTML 文檔中,多個(gè)空白字符等價(jià)為一個(gè)空白字符。也就是說(shuō)換行等空白字符是不能刪除的,有可能造成部分元素的樣式產(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)樽⑨尫?hào)可能會(huì)出現(xiàn)在字符串當(dāng)中,比如: var url = "http://www.gle-technology.com"; // 前面的//不是注釋 5.對(duì)于動(dòng)態(tài)頁(yè)面來(lái)說(shuō),HTML 的壓縮有可能還會(huì)增加服務(wù)器的 CPU 負(fù)擔(dān),得不償失 由于注釋對(duì)代碼有作用,小編使用的php壓縮html函數(shù)代碼 沒(méi)有去掉注釋?zhuān)苯由洗a。 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; } 有些站長(zhǎng)朋友不推薦壓縮html ,主要原因除了上面所說(shuō)的 php來(lái)壓縮HTML注意事項(xiàng)外,通過(guò) gzip 壓縮已經(jīng)能達(dá)到很好的效果。另外,因?yàn)楫a(chǎn)生影響HTML的因素太多,例如靜態(tài)、動(dòng)態(tài)、前端動(dòng)態(tài)等,也沒(méi)什么量化指標(biāo),所以很難控制壓縮成什么樣。代碼更需要考慮執(zhí)行效率,而不是傳輸效率。對(duì)于動(dòng)態(tài)頁(yè)面來(lái)說(shuō),HTML的壓縮很有可能還會(huì)增加服務(wù)器的CPU負(fù)擔(dān),消耗服務(wù)器資源得不償失。  

本文地址:http://www.gle-technology.com/others/14357.html

1
1
1
1
1
1
1

客戶(hù)服務(wù)熱線(xiàn)

0791-8623-3537

在線(xiàn)客服