1

PHP を使用して css 16 進コードを短い対応するコードに変換する最良の方法は何でしょうか? css 圧縮スクリプトを作成するだけで、ファイル サイズが少し改善される場合があります。

ありがとう

4

1 に答える 1

0

この場合、ある形式 (#RRGGBB、チャネルごとに 8 ビットの色情報) から明らかに異なる形式 (#RGB、チャネルごとに 4 ビットの色情報のみ) に変換しようとしています。これは、両方の 16 進数が同じ場合にのみ実行できます。

次のような単純で簡単なことを試すことができます。

function compress_css_colour($original) {
    if (   $original[1] == $original[2]
        && $original[3] == $original[4]
        && $original[5] == $original[6]) {
        return "#" . $original[1] . $original[3] . $original[5];
    } else return $original;
}

echo compress_css_colour("#aabbcc");
// prints "#abc"

これは一般的なケースで機能しますが、間違いなくもっとエレガントなソリューションがあります。さらに堅牢性を追加することも必要になるでしょう。元の CSS の色の形式が正しくない場合や、#RRGGBBAA 形式の場合はどうでしょうか。

于 2012-09-29T20:54:27.957 に答える