Willkommen in der Webstatt Zum Webstatt Blog und Stories
Wasili am 25.08.06 21:11

Ja, wieder einmal RegExp. Obwohl ich langsam auch was selbst hinbekomme hinke ich wieder mal daran ;)
Es gut um folgendes:
Ich habe eine css-Datei. Darin sind, für eine Webablikation, "Colorcodes"-Klassen gespeichert. Also sowas:

.colorcode_01 {
color: rgb(0%, 0%, 0%);
}


Nun hat es darin auch Kommentare. Und damit ich die Codes in ein array bekomme, um weiter damit zu arbeiten, muss ich also alle Codes aus diesem Code extrahieren und in ein array speichern. Und dafür, denke ich, muss ich die Kommentare mal "rausfiltern". Soweit so gut, dachte ich, und bastelte auch was..:
$file = preg_replace('/\/\*(*.?)\*\//', '', $file);
Funktioniert nur nicht (Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 5 in D:\Serverdokumente\motew\colors.php on line 24).

Irgendwer eine Hilfe wie es geht? ^^"

netcup.de Warum gibt es hier Werbung?
milahu milahu am 25.08.06 21:17

Guck mal ganz genau hin --> *.?

Wasili am 25.08.06 21:27

Quote
Original von milahu
Guck mal ganz genau hin --> *.?



Ahhhh....
$file = preg_replace('/\/\*(.*)\*\//', '', $file);


So geht das... ^^

Matthias am 29.08.06 20:07

Wie filtere ich eigentlich Daten zwischen Klammern mit RegExp?

Franky Franky am 29.08.06 20:15

\(\) so zum beispiel ;)

Matthias am 29.08.06 20:23

Quote
Original von Franky
\(\) so zum beispiel ;)


<?php

preg_match("\(\)", "hallo (test)", $treffer);
print $treffer[1];

?>


mmh, da bekomm ich weder mit treffer[0] noch [1] eine Ausgabe. Woran liegt das?

der_nic der_nic am 29.08.06 20:24

weil du da nur nach einer Klammer () suchst?

Michael Michael am 29.08.06 20:39

preg_match("/\((.*?)\)/", "hallo (test)", $treffer);
print $treffer[1];


statt .* könnte man in dem Fall auch [a-zA-Z]* benutzen um es genauer anzugeben

nuit nuit am 30.08.06 14:18

nachdem er einen Colorcode matchen möchte, gehen ja nur zahlen ;)
um es genauer anzugeben könnte man den ausschreiben ;)

/color: rgb\((\d{1,3})%, (\d{1,3})%, (\d{1,3})%\);/

der sollte dir jetzt eigentlich die Farben getrennt listen ;)


edit: achso es geht nur um daten zwischen den klammern ;D
mist ich sollte mehr lesen

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt