Problem mit Regulären Ausdrücken

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit Regulären Ausdrücken

Postby Knight1 » 05. December 2006 15:39

Hi AF-Com,
habe da folgendes Problem.

Ich möchte in einem Script die Möglichkeit anbieten Grafik-Dateien, welche man vorher in die Datenbank geladen hat, mit unterschiedlichen Tag's in eine Seite zu integrieren.
Diese Tag's, ähnlich dem (denke ich mal) allseits bekannten BB-Code, sollen dann per Regulären-Ausdrücken und der Funktion preg_replace(); in HTML umgewandelt werden.

Folgende Tag's möchte ich verfügbar machen:

    [(img:1)(h:2|b:3)]
    [(img:1)(t_img:4)]
    [(img:1)(h:2|b:3)(t_img:4)]

Die Ziffer 1 steht für die ID des Bildes welches angezeigt werden soll.
Die Ziffer 2 für die Höhe sowie Die Ziffer 3 für die Breite des anzuzeigenden Bildes.
Die Ziffer 4 steht für das Zielbild auf welches verlinkt werden soll.

Nun habe ich mir bis jetzt folgende Suchmuster zusammen gereimt:

Code: Select all
preg_replace("/(^.*)\[\(img:(.*)\)\(h:(.*)\|b:(.*)\)\](.*$)/siU","$1<a href=\"show_images.php?what=image&img_id=$2\" target=\"_blank\" title=\"Klicken zum vergrößern\"><img src=\"show_images.php?what=image&img_id=$2&action=show\" style=\"height:$3; width:$4;\"></a>$5",$content,-1,$umwandlungen);


sowie

Code: Select all
preg_replace("/(^.*)\[\(img:(.*)\)\(t_img:(.*)\)\](.*$)/siU","$1<a href=\"show_images.php?what=image&img_id=$3\" target=\"_blank\" title=\"Klicken zum vergrößern\"><img src=\"show_images.php?what=image&img_id=$2&action=show\"></a>$4",$content,-1,$umwandlungen);


Nun gibt es folgendes Problem.
Wenn ich die beiden ersten Tag's im String habe (an Tag 3 bin ich noch nicht dran), wird alles gnadenlos zerschossen. Es erfolgt keine korrekte Umwandlung.

Für Tipps wäre ich sehr dankbar.
Vielleicht sehe ich ja vor lauter Bäumen den Wald nicht.

Fehlermeldungen werden keine ausgegeben.


System:
SuSe 10.1
XAMPP 1.5.4a
Beides in der Standardinstallation.



Kai aka Knight1
Image
User avatar
Knight1
 
Posts: 310
Joined: 18. October 2003 10:03
Location: Trier
Operating System: Windows 7 Ultimate x64

Postby martinpre » 05. December 2006 17:07

Bei Regulären AUsdrücken kenn ich mich nicht so gut aus, aber hier ist ein sehr nützliches Programm:

http://weitz.de/regex-coach/#install

Vielleicht hilft es dir.
martinpre
 
Posts: 405
Joined: 22. May 2006 16:14
Location: Nähe Tulln / Österreich


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests