Marusz Logo
Strona główna
Artykuły
Seriale, daty premier
Kontakt
Promowane artykuły:
Dreamhost i czas warszawski
WinBinder - wprowadzenie
Prosty packer CSS
Zend Studio i Ubuntu
WebMail Claros Software
Miasto Plusa - bramka napisana w PHP
Płatnik na Laptopie - opis instalacji
Płatnik - przeniesienie programu
Captcha w PHP - prosty przykład
Linux, skrypt txt2srt
Windows, prosta konwersja txt2srt
Linux, NapiProjekt, TXT i SRT

Funkcja: prosty paker CSS

2008-04-10 12:16

Funkcja za pomocą kilku wyrażeń regularnych usuwa niepotrzebne znaki tworząc plik jednolinijkowy. Rezultaty są zadowalające - przy niektórych olbrzymich plikach CSS sięgają nawet do 6 kb. Po co pakować plik CSS? Jest wiele powodów. Jeśli nasz serwis WWW jest oblegany, to zysk nawet 6 kb (przy założeniu, że liczba użytkowników przekracza 12 tysięcy unikalnych na dobę) jest zauważalny. Polecam sprawdzić.

function mzCssPacker($i)
{

  $i = preg_replace("/\/\*.*\*\/|\/\/.*\n/Usi", "", $i);
  $i = preg_replace("/[^a-z0-9\#\;\:\.\{\}\'\"\(\)\*\ \,\-\_\!\/\=\%]/si", "", $i);
  $i = preg_replace('/\s\s+/', " ", $i);
  $i = preg_replace("/\{ /", "{", $i);
  $i = preg_replace("/(\, |\: | \{|\ \!| \})/e", "trim('\\1')", $i);
  $i = preg_replace("/\;\}/", "}", $i);
  $i = preg_replace("/\#([a-z0-9])\\1+/si", "#\\1\\1\\1", $i);
  $i = preg_replace("/([0-9][a-z]?[a-z]? [0-9][a-z]?[a-z]?)\ \\1/si", "\\1", $i);
 
  return $i;

}


Zalety owej funkcji:
- mała
- nie wymaga instalacji dodatkowych bibliotek
- jeden plik

Czego ta funkcja mieć nie będzie:
- skracania kolorów, na przykład: #ff0000 na red
- parsowania składni CSS (jeśli plik oryginalny zawiera błędy, to po użyciu tej funkcji strona może być "do góry nogami")

Funkcję wywołuje się w następujący sposób:
echo mzCssPacker($kod_css);

Jeśli zaś potrzebujecie naprawdę mocnego narzędzia, polecam zapoznać się z możliwościami CSS Tidy.

Komentarze


Wpisz swoje imię, pseudonim:

Wpisz treść: