前の記事 ≪:Firefoxのクールなテーマ集、23種
次の記事 ≫:インストール済みフォントを一覧・コピー「fonfon」v1.2

PHPでCSSを圧縮して出力する方法

2007年03月01日-はてなブックマーク

スポンサード リンク
[PR] 英単語を忘却曲線アプリを使って超効率よく記憶する方法
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圧縮サービスなんかも作れそうですね。

関連の記事検索:PHP, CSS, Webデザイン
スポンサード リンク

By.KJ : 2007年03月01日 10:06 livedoor Readerで購読 Twitterに投稿

間違いの指摘をしていただける方はメール、あるいはTwitter/FBでお願いします(クリック)