You could try something like this:
use CGI;
use strict;
my $test = q|sdfsdfsdfsdf
[t]
Monday: 12-14
Tueday: 12-18
Wednesday: 12-18
[/t]
dsfsdfsdfsd
fsdfsdfsdf
|;
$test =~ s{\[t\](.*)\[\/t\]}{do_table($1)}segm;
print "Now: $test\n";
sub do_table {
my @vals;
foreach (split /\n/, $_[0]) {
chomp;
next if length $_ < 1;
my ($day,$times) = split /:/, $_;
push @vals, qq|
<tr>
<td>$day</td>
<td>$times</td>
</tr>\n|
}
return qq|<table>| . join("",@vals) . qq|</table>|;
}
=cut
<table>
<tr>
<td>Monday</td>
<td>12-14</td>
</tr>
</table>
=cut
Cheers
Andy (mod)
andy@ultranerds.co.uk
Want to give me something back for my help? Please see my Amazon Wish List
GLinks ULTRA Package | GLinks ULTRA Package PRO
Links SQL Plugins | Website Design and SEO | UltraNerds | ULTRAGLobals Plugin | Pre-Made Template Sets | FREE GLinks Plugins!
Code:
#!perl use CGI;
use strict;
my $test = q|sdfsdfsdfsdf
[t]
Monday: 12-14
Tueday: 12-18
Wednesday: 12-18
[/t]
dsfsdfsdfsd
fsdfsdfsdf
|;
$test =~ s{\[t\](.*)\[\/t\]}{do_table($1)}segm;
print "Now: $test\n";
sub do_table {
my @vals;
foreach (split /\n/, $_[0]) {
chomp;
next if length $_ < 1;
my ($day,$times) = split /:/, $_;
push @vals, qq|
<tr>
<td>$day</td>
<td>$times</td>
</tr>\n|
}
return qq|<table>| . join("",@vals) . qq|</table>|;
}
=cut
<table>
<tr>
<td>Monday</td>
<td>12-14</td>
</tr>
</table>
=cut
Cheers
Andy (mod)
andy@ultranerds.co.uk
Want to give me something back for my help? Please see my Amazon Wish List
GLinks ULTRA Package | GLinks ULTRA Package PRO
Links SQL Plugins | Website Design and SEO | UltraNerds | ULTRAGLobals Plugin | Pre-Made Template Sets | FREE GLinks Plugins!