Thread CMS Tags parsen (29 answers)
Opened by cbxk1xg at 2010-11-26 16:27

cbxk1xg
 2010-11-26 16:27
#143079 #143079
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Hallo.

Ich habe in einem Dokument diverse Tags, die sich nicht an gängige Formen halten. Also kein HTML und kein BBcode. Diese Tags kann ich einzeln gut per RegEx parsen. Nur wenn Die Tags verschachtelt sind, geht es nicht mehr. Hier ein Beispiel das funktioniert.

Code: (dl )
1
2
[pic=Pfad/bild.jpg#310#left#meta] Etwas Text
im Dokument. [audio=Pfad/datei.mp3#left#meta]


Das kann ich in Einer Schleife erkennen und etwas damit machen. Der Tag kann sogar Zeilenumbrüche enthalten.
Code (perl): (dl )
1
2
3
4
5
6
7
8
use strict;
use warnings;

for my $line (@FILE) {
$line =~ s-\[pic\=(.*?)\]-my $PicTag = &GetPic( "$1" )-sige;
$line =~ s-\[audio\=(.*?)\]-my $AudioTag = &GetAudio( "$1" )-sige;
$line =~ s-\[infobox\=(.*?)\]-my $InfoBoxTag = &CreateInfoBox( "$1" )-sige;
}


Was aber leider nicht geht, ist sowas hier.
Code: (dl )
1
2
3
[infobox=Titel#Etwas Text
[pic=Pfad/bild.jpg#310#left#meta]
Mehr Text]


Die Raute dient als Trennzeichen für Optionen, die werden dann in den Subs behandelt.

Ein Freund sagte mir, man müßte das von innen nach außen Parsen. Ich weiss nur nicht wie?!

View full thread CMS Tags parsen