Thread Tags finden
(21 answers)
Opened by Froschpopo at 2008-04-13 18:34
Eine Möglichkeit:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #!/usr/bin/perl use strict; use warnings; my $text = "Dies ist [fett]ein fetter Text[/fett]. [kursiv]Dieser ist Kursiv.[/kursiv] und hier haben wir die Farbe [color=#FF0000]rot[/color]"; my %tags = ( fett => '<strong>%s</strong>', kursiv => '<span style="font-style:italic">%s</span>', color => '<div style="color:%s;">%s</div>', ); my $t=$text; $t=~s|\[([^\[\]\W]+)\](.+?)\[/\1]|replace($1,$2)|egs; $t=~s|\[([^\[\]\W]+)=([^\[\]]+)\](.+?)\[/\1]|replace_opt($1,$2,$3)|egs; print "$t\n"; sub replace { return sprintf($tags{shift(@_)},shift(@_)) } sub replace_opt { return sprintf($tags{shift(@_)},shift(@_),shift(@_)) } |