CSS compressor

Door Martijn B, 21 jaar geleden, 5.505x bekeken

Na aanleiding van het "CSS Parser (ECSS)" script heb ik een functie gemaakt die alle overbodige tekens uit een CSS bestand verwijderd.

De functie is eenvoudig te gebruiken. Je hoeft alleen het pad van het CSS bestand als parameter op te geven.

Voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$sResultaat
=  compress_css_file('C:\htdocs\style.css');
echo $sResultaat;
?>

Gesponsorde koppelingen

PHP script bestanden

  1. css-compressor

 

Er zijn 10 reacties op 'Css compressor'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
GaMer B
GaMer B
21 jaar geleden
 
0 +1 -0 -1
Wel een goed script, maar reduceert dit dan de laad-tijd of parse-tijd? Want wanneer je een klein .css bestandje hebt, laadt het toch ook vrij snel en heb je in principe niet zo'n script te gebruiken.
Ook wanneer je een groter .css bestand hebt, lijkt het me langer duren om het eerst te gaan compressen en dan te parsen.
Maar misschien een idee om eens te gaan benchmarken.
- -
- -
21 jaar geleden
 
0 +1 -0 -1
GaMer13, hiermee kun je gewoon één keer een gecomprimeerde versie maken, en die in je CSS-file zetten.
Martijn B
Martijn B
21 jaar geleden
 
0 +1 -0 -1
Volgens mij lezen de meeste browsers het CSS bestand 1 keer in en daarna niet meer (tenzij het bestand veranderd).
Tenzij je ervoor zorgt dat de browser het CSS bestand steeds vernieuwd.

Dan kan op deze manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<link rel="stylesheet" href="css/global.css?1192119453" type="text/css" />


Alles na het vraagteken is een timestamp.
GaMer B
GaMer B
21 jaar geleden
 
0 +1 -0 -1
Owja, css bestanden werden gecached he. Nja, in ieder geval een goed script, maar nog niet echt getest ^.^
Onbekend Onbekend
Onbekend Onbekend
21 jaar geleden
 
0 +1 -0 -1
klopt, ze lezen eht maar 1x, als je sloom internet hebt kun je dat zien, eerst wordt de html geladen en dan de css (als de css groter is duurt het dus gewoon langer), bij de volgende pagina is hij meteen geladen

ik heb net wat nieuws uitgevonden dat je met bijv *heigt: 30px... de hoogte voor ie apart kunt bepalen, haalt dit script die * er ook uit? nee toch..
Martijn B
Martijn B
21 jaar geleden
 
0 +1 -0 -1
Quote:
ik heb net wat nieuws uitgevonden dat je met bijv *heigt: 30px... de hoogte voor ie apart kunt bepalen, haalt dit script die * er ook uit? nee toch..


nee, er worden alleen enters, tabs en spaties verwijderd.
Jelmer -
Jelmer -
21 jaar geleden
 
0 +1 -0 -1
Als je er dan ook nog eens de ob_gzhandler (http://nl.php.net/ob_gzhandler) overheen haalt, is het helemaal klein. Download lekker snel (want daar gaat het ten slotte om. Parsetime is te verwaarlozen)
Robert -
Robert -
21 jaar geleden
 
0 +1 -0 -1
Ziet er leuk uit.
Maar ik vraag me af in hoeverre dit verschil te merken is?
Gaat dat om seconden of om tienden van seconden?
Storeman storeman
storeman storeman
21 jaar geleden
 
0 +1 -0 -1
Het hangt natuurlijk af van de hoeveelheid enters en spaties die in je css bestand staan. Ik denk niet dat het een significant verschil is. Vooral niet met breedbandverbindingen die iedereen tegenwoordig heeft. Stel nou dat je een 56k modem hebt, en je moet een css binnen halen van 8kb of van 6kb, wellicht dat je het dan zal merken, alhoewel, 2kb aan spaties en enters is nog redelijk fors.

Tenzij je dit statisch toepast, denk ik dat het een verspilling is van je processorkracht.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Pim Vernooij
Pim Vernooij
21 jaar geleden
 
0 +1 -0 -1
@Jelmer: of de apache module mod_deflate! Ook erg handig, en maakt het gebruik van ob_gzhandler overbodig.

Nu alleen nog functionaliteit toevoegen om de geparsde CSS bestanden te cachen op de server, zodat dit niet steeds voor iedere user moet gebeuren, en je css lib is af ;-)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. css-compressor

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.