| Revision 337 (by dpavlin, 2004/06/10 19:22:40) |
new trunk for webpac v2
|
#
# reformat html inside xml back to html (basically, support for tables)
#
# filed #-# field ###
# ...
sub back2html {
my $html = shift;
$html =~ s/</</g;
$html =~ s/>/>/g;
my $out;
foreach $line (split(/\s*###\s*/,$html)) {
$out .= "<tr><td valign=\"top\">";
my @items = split(/\s*#-#\s*/,$line);
# convert spaces in left field to non-breaking spaces
$items[0] =~ s#\s+# #g;
# try to make link on right field
sub mkurl {
my $url = shift || die "mkurl needs url as argument";
# chop URLS longer than 60 characters
my $txturl = substr($1,0,60);
$txturl .= "..." if (length($1) > 60);
return "<a href=\"$url\">$txturl</a>";
}
$items[1] =~ s#(http://[\S]+)#mkurl($1)#gie;
$out .= join("</td><td>",@items);
$out .= "</td></tr>\n";
}
# put <br> back into html
$out =~ s,<br/*>,<br/>,gi;
# put <a href=xxx>yyyy</a> back into html
$out =~ s,<(a\s+href=)(.+?)>(.+?)<(/a)>,<$1$2>$3<$4>,gsi;
return $out;
}
1;