PHPでCSSを圧縮して出力する方法
2007年03月01日-
スポンサード リンク
Compress CSS code
When you develop a website you know that you will always have to keep a balance between design and productivity. You need good working pages, easy layout, easy navigation, impressive design etc.
PHPでCSSを圧縮して出力する方法。
ブラウザがCSSを解釈するにあたって不要な、コメントや、タブ/スペース、改行なんかを取り除いたものを出力してくれるサンプルが掲載されていました。
圧縮することで、ブラウザがCSSファイルを解釈するバイト数が減り、微少ですが解釈の高速化と、ネットワーク的負荷の低減が期待できますね。
次のサンプルコードでそれが可能です。
CSSファイルの最初に次のPHPコードを挿入します。
<?php
header('Content-type: text/css');
ob_start("compress");
function compress($buffer) {
// remove comments
$buffer = preg_replace('!/*[^*]**+([^/][^*]**+)*/!', '', $buffer);
// remove tabs, spaces, newlines, etc.
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
return $buffer;
}
?>
そして、最後に、次のコードで出力を行います。
CSSファイルの最後に次のコードを入れます。
<?php ob_end_flush();?>
注意として、CSSファイルをPHPファイルとして動作させるようにする必要があります。
<link rel="stylesheet" href="xxx.php"> のようにして直接PHPを指定するのもよいでしょう。
関数自体を流用して、CSS圧縮サービスなんかも作れそうですね。
スポンサード リンク
Advertisements
SITE PROFILE
最新のブログ記事(新着順)
- CSSのみで実現できるローディングアニメーションやエフェクト集「Css Effects」
- スムーズに横スクロールするレイアウトサンプル
- 斬新なページメニューが作れる「Inline Menu Layout with Gallery Panel」
- 世界中で今何時を計算できる「Spacetime」
- シンプルなタブUIを実現できる「Skeletabs」
- テキストを省略してブロックを小さくできる「Cuttr.js」
- インタラクティブに動く立体的なテキストを生成「ztext.js」
- WebGLを使った動画の切り替えアニメーション実装
- スクロールにあわせて動くイメージタイル実装
- 1000以上の汎用アイコンセット「emblemicons」
- 過去のエントリ