#!/usr/bin/perl
use strict;
use warnings;
sub parse {
my %params = @_;
print "$_ = ".$params{$_}."\n" for keys %params; print "#####\n";
if(exists($params{BILD}))
{
unless (-e $params{BILD})
{
return "!!Unbekannte Datei!!";
}
}
elsif(exists($params{LINK}))
{
return '<a href='.$params{LINK}.'>'.$params{INHALT}.'</a>';
}
else
{ return "!!Unbekannter Befehl!!"}
}
my $string =
'
Das ist Martin: [LINK="http://www.test.de" TARGET=_blank]klick hier[/LINK] Sein Bild: [BILD=martin.gif NAME="asd ass as" NAME2=hallo]
Das ist Bärbel: [LINK="http://www.test.de" TARGET=_blank]klick hier[/LINK] Ihr Bild: [BILD=baerbel.gif NAME="asd ass as" NAME2=hallo]
';
print $string."\n#####\n";
$string =~ s!\[((\w+).+?)\](?:(.+?)\[/\2\])?!parse((map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/,$1)),$3?('INHALT',$3):())!gse;
print $string."\n";