Leser: 1
|< 1 2 3 4 >| | 32 Einträge, 4 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl
use strict;
my $string = 'Das ist Martin: [BILD=martin.gif NAME="asd ass as" NAME2=hallo]';
$string = ~s!\[(.+?)\]!parse(map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/,$1))!gse;
sub parse {
my %params = @_;
unless (-e $params{BILD}) {
return "File not found\n";
}
}
print $string;
my $string = 'Das ist Martin: [LINK="http://www.test.de" TARGET=_blank]klick hier[/LINK]';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl
use strict;
use warnings;
sub parse_link {
# $_=~s/^['"]|["']$//gs for(@_);
my %params = @_;
print "$_ = ".$params{$_}."\n" for keys %params;
return '<a href='.$params{LINK}.'>'.$params{INHALT}.'</a>';
}
my $string = 'Das ist Martin: [LINK="http://www.test.de" TARGET=_blank]klick hier[/LINK]';
print $string."\n";
$string =~ s!\[(LINK.+?)\](.+?)\[/LINK\]!parse_link((map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/,$1)),'INHALT',$2)!gse;
print $string."\n";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/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";
1
2
3
4
5
6
7
[ZITAT]Dies ist ein Zitat[/ZITAT]
oder:
[HEADLINE]Dies ist eine Überschrift[/HEADLINE]
usw.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/perl
use strict;
use warnings;
sub parse
{
my %params = @_;
# my @l=@_; print join('|',@l)."\n----\n";
print "$_ = ".$params{$_}."\n" for keys %params; print "#####\n";
if(exists($params{BILD}))
{ return '<img src='.$params{BILD}.'>'; }
elsif(exists($params{LINK}))
{ return '<a href='.$params{LINK}.'>'.$params{INHALT}.'</a>'; }
elsif(exists($params{ZITAT}))
{ return '<pre>'.$params{INHALT}.'</pre>'; }
elsif(exists($params{HEADLINE}))
{ return '<h>'.$params{INHALT}.'</h>'; }
else
{ return "!!Unbekannter Befehl!!"}
}
sub rsplit
{
my @v=@_;
# print join('|',@v),"\n";
return ($v[2]!~/=/?($v[1],''):(),$v[4]?('INHALT',$v[4]):(),$v[3]?(map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/,$v[2]=~/=/?$v[0]:$v[3])):());
}
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]
[ZITAT]Dies ist ein Zitat[/ZITAT] oder:
[HEADLINE]Dies ist eine Überschrift[/HEADLINE]
[HEADLINE SIZE=3]text[/HEADLINE]
';
print $string."\n#####\n";
$string =~ s|\[((\w+)(\s*=?s*)(.*?))\](?:(.+?)\[/\2\])?|parse(rsplit($1,$2,$3,$4,$5?$5:''))|gse;
print $string."\n";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/perl
use strict;
use warnings;
my $body = "Das ist [BILD=margin.gif] und seine Homepage ist [LINK=http://www.martin.de]hier[/LINK]\n";
$body =~ s!\[((\w+).+?)\](?:(.+?)\[/\2\])?!allocate((map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/,$1)),$3?('INHALT',$3):())!gse;
sub allocate {
my %params = @_;
if (exists($params{BILD})) {
return &image(\%params);
} elsif (exists($params{LINK})) {
return &link(\%params);
} elsif (exists($params{HEADLINE})) {
return &headline(\%params);
} else {
return "!!Unbekannter Befehl!!"
}
}
sub image {
my $args = shift;
my $file = $args->{BILD};
chdir("/srv/www/seite/images/")
or die "Order nicht gefunden";
if (-e $file) {
my $text = $args->{TEXT};
my ($width, $height) = imgsize($file);
my $html = "<p class=\"bildabsatz\"><img src=\"/images/$file\" width=\"$width\" height=\"$height\"> <span>$text</span><p>\n";
return $html;
} else {
return "Bild nicht gefunden";
}
}
sub link {
my $args = shift;
return "<a href=\"$args->{LINK}\">$args->{INHALT}</a>";
}
|< 1 2 3 4 >| | 32 Einträge, 4 Seiten |