Der folgende Beitrag wurde am 26. 02. 2002, 18:15 Uhr von philipp veröffentlicht.
Hallo Ihr!
Ich habe versucht mir einen Parser für css-Dateien zu scheiben. Mein Ziel war es, dass ich die URL eines CSS eingebe und an das PHP schicke. Dieses holt dann mit fopen("$url", "r") das File und sucht alle Selektoren (wie H1, font.klein, etc..) herraus. Das Zweite ist mir aber leider nicht gelungen ...
Kann mir einer Helfen?
Danke Philipp
Der folgende Beitrag wurde am 26. 02. 2002, 21:57 Uhr von Harry veröffentlicht.
Hoi
> Ich habe versucht mir einen Parser für css-Dateien zu scheiben. Mein Ziel war es, dass ich die URL eines CSS eingebe und an das PHP schicke. Dieses holt dann mit fopen("$url", "r") das File und sucht alle Selektoren (wie H1, font.klein, etc..) herraus. Das Zweite ist mir aber leider nicht gelungen ...
$ar = file($url);
$ps = "";
$selektoren = "";
$as = "";
for($i=0; $<count($ar); $i++)
{ $ps .= $ar[$i];
if(strstr($ps, "{") && strstr($ps, "}") && substr_count($ps, "{")==substr_count($ps, "}")
{ $ar2 = explode("}", $ps);
for($j=0; $j<count($ar2); $j++)
{ if(strstr($ar2[$j], "{")
{ $ar3 = explode("{", $ar2[$j]);
$selektoren[$as] = trim($ar3[0]);
$ar3++;
}
}
}
}
Jetzt mußt Du nur noch rausfinden, wie Du Kommentare entfernst und Programmierfehler in Style-Sheets abfängst ...
Ciao,
Harry
Der folgende Beitrag wurde am 26. 02. 2002, 22:01 Uhr von Harry veröffentlicht.
Ups ...
da hab ich doch glatt eine Zeile und ein paar Klammern vergessen :-(
(tja ... erst Korrekturlesen und dann schicken, net andersrum)
> $ar = file($url);
> $ps = "";
> $selektoren = "";
> $as = "";
> for($i=0; $<count($ar); $i++)
> { $ps .= $ar[$i];
> if(strstr($ps, "{") && strstr($ps, "}") && substr_count($ps, "{")==substr_count($ps, "}")
// Hier gehört natürlich ganz hinten auch noch eine Klammer hin:
if(strstr($ps, "{") && strstr($ps, "}") && substr_count($ps, "{")==substr_count($ps, "}"))
> { $ar2 = explode("}", $ps);
> for($j=0; $j<count($ar2); $j++)
> { if(strstr($ar2[$j], "{")
// muß heißen:
if(strstr($ar2[$j], "{"))
> { $ar3 = explode("{", $ar2[$j]);
> $selektoren[$as] = trim($ar3[0]);
> $ar3++;
> }
> }
// Hier fehlt
$ps = "";
> }
> }
Das Ergebnis steht übrigens im Array $selektoren.
Harry
Der folgende Beitrag wurde am 26. 02. 2002, 22:33 Uhr von philipp veröffentlicht.
hi!
schonmal vielen dank!
aber es gibt ein problem: http://cologne1.center-tag.de/style.php3
> > $ar = file($url);
> > $ps = "";
> > $selektoren = "";
> > $as = "";
ZEILE 13: for($i=0; $<count($ar); $i++)
> > { $ps .= $ar[$i];
> > if(strstr($ps, "{") && strstr($ps, "}") && substr_count($ps, "{")==substr_count($ps, "}")
> // Hier gehört natürlich ganz hinten auch noch eine Klammer hin:
> if(strstr($ps, "{") && strstr($ps, "}") && substr_count($ps, "{")==substr_count($ps, "}"))
> > { $ar2 = explode("}", $ps);
> > for($j=0; $j<count($ar2); $j++)
> > { if(strstr($ar2[$j], "{")
> // muß heißen:
> if(strstr($ar2[$j], "{"))
> > { $ar3 = explode("{", $ar2[$j]);
> > $selektoren[$as] = trim($ar3[0]);
> > $ar3++;
> > }
> > }
> // Hier fehlt
> $ps = "";
> > }
> > }
Noch ne andere Frage: wie würdest du eine ausgabeliste machen?
danke und gruss philipp
Der folgende Beitrag wurde am 26. 02. 2002, 23:05 Uhr von Harry veröffentlicht.
hoi
> schonmal vielen dank!
> aber es gibt ein problem: http://cologne1.center-tag.de/style.php3
> ZEILE 13: for($i=0; $<count($ar); $i++)
^^^ Da hat sich ein "i" vom Acker gemacht: $i<
> Noch ne andere Frage: wie würdest du eine ausgabeliste machen?
Schön in 'ner Tabelle :-)
Ciao,
Harry
Der folgende Beitrag wurde am 26. 02. 2002, 23:12 Uhr von philipp veröffentlicht.
OK!
Jetzt kommt zumindest kein Fehler mehr ;)
> > Noch ne andere Frage: wie würdest du eine ausgabeliste machen?
> Schön in 'ner Tabelle :-)
Hmmm ja Tabelle, aber du musst wissen ich habe mich noich nie mit array beschäftig!
wie mache ich denn für jeden sich im array befindenden selektor eine neue zeile usw ... ?!
*mirpeinlichsei*
danke philipp
Der folgende Beitrag wurde am 27. 02. 2002, 11:24 Uhr von Harry veröffentlicht.
Hoi !
> > > Noch ne andere Frage: wie würdest du eine ausgabeliste machen?
> > Schön in 'ner Tabelle :-)
> Hmmm ja Tabelle, aber du musst wissen ich habe mich noich nie mit array beschäftig!
> wie mache ich denn für jeden sich im array befindenden selektor eine neue zeile usw ... ?!
Tststs ...
> *mirpeinlichsei*
Zurecht ;-) Das steht in den ersten drei Seiten der PHP-Anleitung ...
for($i=0; $i<count($selektoren); $i++)
echo "<tr><td>".$selektoren[$i]."</td></tr>";
Ciao,
Harry
Der folgende Beitrag wurde am 27. 02. 2002, 18:33 Uhr von philipp veröffentlicht.
hi du!
es geht aber leider immer noch nicht, bzw. findeste er nix:
<?
if ($url) {
$ar = file($url);
$ps = "";
$selektoren = "";
$as = "";
for($i=0; $i<count($ar); $i++)
{ $ps .= $ar[$i];
if(strstr($ps, "{") && strstr($ps, "}") && substr_count($ps, "{")==substr_count($ps, "}"))
{ $ar2 = explode("}", $ps);
for($j=0; $j<count($ar2); $j++)
{
if(strstr($ar2[$j], "{"))
{ $ar3 = explode("{", $ar2[$j]);
$selektoren[$as] = trim($ar3[0]);
$ar3++;
}
}
$ps = "";
}
}
for($i=0; $i<count($selektoren); $i++) {
echo "<b>".$selektoren[$i]."</b><br>"; }
}
?>
online unter [http://cologne1.center-tag.de/style.php3]
woran kann es liegen? gruss philipp
Der folgende Beitrag wurde am 27. 02. 2002, 19:05 Uhr von Harry veröffentlicht.
Hoi
> es geht aber leider immer noch nicht, bzw. findeste er nix:
> <?
> if ($url) {
> $ar = file($url);
> $ps = "";
> $selektoren = "";
> $as = "";
$as = 0;
... ist besser (und richtig)
> for($i=0; $i<count($ar); $i++)
> { $ps .= $ar[$i];
> if(strstr($ps, "{") && strstr($ps, "}") && substr_count($ps, "{")==substr_count($ps, "}"))
> { $ar2 = explode("}", $ps);
> for($j=0; $j<count($ar2); $j++)
> {
> if(strstr($ar2[$j], "{"))
> { $ar3 = explode("{", $ar2[$j]);
> $selektoren[$as] = trim($ar3[0]);
> $ar3++;
Und das muß freilich ...
$as++;
... heißen, sonst gibt's keinen Sinn.
> }
> }
> $ps = "";
> }
> }
> for($i=0; $i<count($selektoren); $i++) {
> echo "<b>".$selektoren[$i]."</b><br>"; }
> }
> ?>
Sobald ich wieder daheim bin werd ich's mal gscheid ausprobieren, dann kann ich Dir auch sagen woran's liegt :-)
Ciao,
Harry
Der folgende Beitrag wurde am 27. 02. 2002, 19:09 Uhr von philipp veröffentlicht.
hhuhu!
höhö jetzt geht es auch, habe nur die beiden änderungen gemacht!
DANKE!!!!
philipp
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4