Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
kwejkowo
post 16.06.2014, 00:47:12
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 16.06.2014

Ostrzeżenie: (10%)
X----


oo smile.gif pomocne, przyda się.
Go to the top of the page
+Quote Post
redeemer
post 16.06.2014, 09:40:29
Post #3





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Słabo szukałeś. Przykład pierwszy z brzegu (o wiele bardziej zaawansowany niż Twoja funkcja) https://github.com/brunschgi/cssmin/blob/master/cssmin.php


--------------------
Go to the top of the page
+Quote Post
Pawel_W
post 10.12.2014, 17:15:51
Post #4





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


Cytat(redeemer @ 16.06.2014, 09:40:29 ) *
Słabo szukałeś. Przykład pierwszy z brzegu (o wiele bardziej zaawansowany niż Twoja funkcja) https://github.com/brunschgi/cssmin/blob/master/cssmin.php

i napisany rok później guitar.gif
Go to the top of the page
+Quote Post
tzm
post 10.12.2014, 20:11:38
Post #5





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Cytat(Pawel_W @ 10.12.2014, 17:15:51 ) *
i napisany rok później guitar.gif



facepalmxd.gif
Go to the top of the page
+Quote Post

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: 28.03.2024 - 13:24