Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [funkcja]Kompresor CSS, lessCSS
HgReed
post 10.12.2011, 23:05:30
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 13.11.2011

Ostrzeżenie: (0%)
-----


Witam.
Na własne potrzeby, chcą zmniejszyć choć trochę objętość moich plików CSS poszukiwałem do tego funkcji. Gdy żadna z tych przeze mnie znalezionych mi nie pasowała - napisałem własną.
Usuwa ona wszystkie niepotrzebne spacje, łamania linii i komentarze.
  1. function lessCSS($CSS)
  2. {
  3. return preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '',
  4. str_replace('} ','}',
  5. str_replace(' }','}',
  6. str_replace(' } ','}',
  7. str_replace('{ ','{',
  8. str_replace(' {','{',
  9. str_replace(' { ','{',
  10. str_replace(', ',',',
  11. str_replace(' ,',',',
  12. str_replace(' , ',',',
  13. str_replace('; ',';',
  14. str_replace(' ;',';',
  15. str_replace(' ; ',';',
  16. str_replace(': ',':',
  17. str_replace(' :',':',
  18. str_replace(' : ',':',
  19. str_replace("\r\n",'',
  20. str_replace("\r",'',
  21. str_replace("\n",'',
  22. str_replace("\t",'',
  23. str_replace(' ','',
  24. str_replace(' ' , '',
  25. str_replace(' ' , ' ',
  26. $CSS)))))))))))))))))))))));

str_replace() jest powielane, gdyż podczas używania w nich array'ów nie usuwało wszystkich, niepotrzebnych spacji.

Kod jest w ogóle nie czytelny, ale waży dużo mniej (np. w moim przypadku prawie 36%).

Najlepiej używać jej wraz z ob_buffer(). Przykład:
  1. ob_start("lessCSS");
  2. require 'plik.css';
  3. require 'innyPlik.css';
  4. require 'stoInncyhPlików.css';


Koncepcja zaczerpnięta z manual'a (komentarze str_replace()).
Go to the top of the page
+Quote Post

Posty w temacie
- HgReed   [funkcja]Kompresor CSS   10.12.2011, 23:05:30
- - kwejkowo   oo pomocne, przyda się.   16.06.2014, 00:47:12
- - redeemer   Słabo szukałeś. Przykład pierwszy z brzegu (o wiel...   16.06.2014, 09:40:29
- - Pawel_W   Cytat(redeemer @ 16.06.2014, 09:40:29...   10.12.2014, 17:15:51
- - tzm   Cytat(Pawel_W @ 10.12.2014, 17:15:51 ...   10.12.2014, 20:11:38


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 12:03