Regulärer Ausdruck geht nicht, warum ?
manu
- php
Hallo,
für einen Dateibrowser in PHP versuche ich über Reguläre Ausdrücke den Dateityp zu finden, und dann einen Text dazu auszugeben. Z.B,
.psd -> Photoshop-Datei
Mit der Funktion preg_match() wird jetzt auf die passende Zeichenfolge gesucht:
if (preg_match(".psd$",$filename))
{
$text = "Photoshop-Datei";
$image = "psd.gif";
} else
{
$text = "Datei";
$image = "default.gif";
}
Laut meinem Buch müsste der Reguläre Ausdruck eigentlich stimmen:
1.) Punkt escapen, damit er als Punkt interpretiert wird
2.) Dollar-Zeichen für das Ende des Suchstrings
ABER:
Er geht immer in das else-Anweisung rein. Weiß jemand wieso ???
Hi,
Er geht immer in das else-Anweisung rein. Weiß jemand wieso ???
weil der Wert der Variable $filename nicht auf ".psd" endet, sondern z.B. auf ".PSD" oder ".psd
".
Cheatah
ABER:
Er geht immer in das else-Anweisung rein. Weiß jemand wieso ???
Weil die Delimiter fehlen.
Hi,
@ick:
Danke, das war's. Ich hatte das Regex von einer eregi() Funktion, und da hat's wohl funktioniert. Dabei hab' ich dann wohl einfach die Grundlagen von PRCE-Vergessen ;-)
@Cheatah:
aran lag's nicht, aber tritzdem danke. Gross- und Kleinschreibung muss ich noch beachten.
Ciao, Manu