2011-01-30 10 views
1

私はこの機能を使用したい:特定のdiv以外のHTML出力を圧縮する方法は?

ob_start('no_returns'); 
function no_returns($a) { 
    return str_replace(
    array("\r\n","\r","\n","\t",'','',''), 
    '', $a); 
} 

しかし、私は、それが完全にディスカスのコメントを殺すんときに、私はDIV「disqus_thread」を無視したいと思います。何度も重い検索を使わずに、どうやってそれをやりますか?

+4

なぜあなたはこれをやっているのですか?代わりにコンテンツを圧縮することをお勧めします(apache + gzip/mod_deflateまたは別のWebサーバー経由)。 PHP経由でこれを行うことは余分なオーバーヘッド(IMO)です。 –

+0

なぜあなたはそれを「圧縮」と呼んでいますか? – Mchl

+1

スマート正規表現でDisqus DIVをスキップすることはできますが、スマートなことをしているのだろうかと思います。あなたの目標がワイヤーでより少ないバイトを送ることであるならば、あなたのウェブサーバーで実際の圧縮を有効にするか、phpのob_gzhandlerを使用することではるかに効果的になります。 –

答えて

0

あなたがウェブページのダウンロードをスピードアップするために探しているなら、あなたは別の方法を試してみてくださいRegular Expressionpreg_replace

+0

彼の後ろのもの... – nico

4

をお試しください:

<?php 

ob_start('ob_gzhandler'); 
// html code here 

これは、はるかに効率的な方法で出力を圧縮します訪問者が見る前にブラウザが自動的に出力をリアルタイムで解凍します。

オンライン関連スレッドはここにある:http://bytes.com/topic/php/answers/621308-compress-html-output-php

(これはウェブサーバ構成を使用せずにWebページを圧縮するPHPの方法であり、例えば、Apacheのアパッチに+ GZIP/mod_deflateを上述したように)

+0

互換性を保証するには、ブラウザがgzipされたコンテンツをサポートしている場合にのみ、gzippedページを提供する 'header(" Vary:Accept-Encoding "); – nico

+0

私はすでにgzipを使用しています。 –

関連する問題