Simpele css parser

Door Wesley Overdijk, 17 jaar geleden, 7.159x bekeken

Dit is een hele simpele css parser. Ik ben er zelf mee bezig om iets anders te maken, maar ik dacht hem hier maar te droppen voor het geval mensen het wouden gebruiken voor iets anders. De volledige set classes staat in het script, samen met het voorbeeld erbij.

voorbeeld gebruik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<pre><?php
    $test
= <<<EOI
@variables
{
        someVar: SomeKey;
        someOtherVar: SomeOtherKey;
        widthGen: 100%;
        image: someCrappyImage.jpg;
}

@Define
{
    someMarginConstant: nothing to do with margin ROFL!;
}
        
#header{            
    width: var(widthGen);
    height: 95px;  
    background-image: url("var(image)");
    background-repeat: no-repeat;
    background-position: left;
    clear: both;
}
        
        #stranglyPlaced
        {
        width: var(widthGen); height: 150px;
        clear: both;
            margin: constant(someMarginConstant);
        }
        
        .oneLiner{width:100%;height:150px;clear:both; margin:0 auto;}
EOI
;

$testInstance = new Solow_Css_Parser($test);  
$testInstance->setProperty('.oneLiner', 'non-existant', 'bullcrap');
echo  $testInstance;      
?>


OUTPUT:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#header
{
    width: 100%;
    height: 95px;
    background-image: url("someCrappyImage.jpg");
    background-repeat: no-repeat;
    background-position: left;
    clear: both;
}

#stranglyPlaced
{
    width: 100%;
    height: 150px;
    clear: both;
    margin: nothing to do with margin ROFL!;
}

.oneLiner
{
    width: 100%;
    height: 150px;
    clear: both;
    margin: 0 auto;
    non-existant: bullcrap;
}

Gesponsorde koppelingen

PHP script bestanden

  1. cssBeautifier.php

 

Er zijn 9 reacties op 'Simpele css parser'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
P Lekensteyn
P Lekensteyn
17 jaar geleden
 
0 +1 -0 -1
Vind je het wiel nu opnieuw uit?
http://www.codebeautifier.com/


17 jaar geleden
 
0 +1 -0 -1
Wat is het nouw?
Css?
Php?
Of iets eigen gemaakt?
Wesley Overdijk
wesley Overdijk
17 jaar geleden
 
0 +1 -0 -1
@peter: Het is iets simpels, en ik gebruik het voor iets anders. Als je had gelezen dan wist je dat.

@Karl: de code staat erbij. Jij moet zeker wel weten wat er gebeurd, jij bent niet dom :). Maar wat dit doet is lelijk geschreven css, e.g. indentation oid fixen. Heel simpel iets, maar ik deel het voor als iemand het ooit nodig heeft. daarom staat het bij snippets :)


17 jaar geleden
 
0 +1 -0 -1
Verbeter dan effe de eerste regel ;-)
Wesley Overdijk
wesley Overdijk
17 jaar geleden
 
0 +1 -0 -1
Ik zal zo een uitgebreidere versie plaatsen... smakkelijker. Dit kan niet kloppen, ik moet ?> de php afsluiten anders werken de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
tags niet... bas toch! lol
P Lekensteyn
P Lekensteyn
17 jaar geleden
 
0 +1 -0 -1
@wesley, dat je het voor iets anders gebruikt wilt nog niet zeggen dat je geen bestaande scripts kunt gebruiken.
Jelmer -
Jelmer -
17 jaar geleden
 
0 +1 -0 -1
@Peter nee laten we vooral niet het wiel opnieuw uitvinden. Waarom Linux maken als je Unix al hebt? Waarom Zend Framework schrijven wanneer je PEAR hebt? Waarom uberhaupt aan PHP beginnen wanneer er al Perl bestond? etc. Wat ik bedoel, nu lijkt het misschien nog hetzelfde, maar misschien groeit het wel tot iets anders, iets beters(?) uit.

Kleine verbetering:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
r32: $propertyValue = explode(':',$property);

Stel dat ik zo'n property heb:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
background: url(http://phphulp.nl/plaatje.png);

dan gaat dat mis. Als je er nu dit van maakt, gaat het wel goed, omdat hij naar 2 matches wel ophoudt, en je $value stukje van het splitsen heel blijft.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
r32: $propertyValue = explode(':',$property, 2);
Wesley Overdijk
wesley Overdijk
17 jaar geleden
 
0 +1 -0 -1
@Jelmer, Oeps, mijn fout. Bedankt, die had ik inderdaad niet gezien. En bedankt. Want inderdaad, Ik heb een hoop systemen geprobeerd, en geen enkele doet wat ik wil, of is slecht geprogrammeerd. Dus doe ik het zelf maar. Want burger king zou anders ook geen reclame hoeven maken, want de mac is er al.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
P Lekensteyn
P Lekensteyn
17 jaar geleden
 
0 +1 -0 -1
@Jelmer
Omdat je niet tevreden bent.
Oke ik begrijp het punt ;)

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

Inhoudsopgave

  1. cssBeautifier.php

Labels

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.