sub back2html {
my $html = shift;
+ my $url_params = shift;
+ $html =~ s/</</g;
+ $html =~ s/>/>/g;
my $out;
- foreach $line (split(/###/,$html)) {
- $out .= "<tr><td>";
- my @items = split(/#-#/,$line);
+ 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
+ sub mkurl_param($$$$) {
+ my ($a_href,$url,$text,$a_end) = @_;
+ if ($url =~ m#\?#) {
+ $url .= "&".$url_params;
+ } else {
+ $url .= "?".$url_params;
+ }
+ return '<'.$a_href.'"'.$url.'">'.$text.'<'.$a_end.'>';
+ }
+ $out =~ s#<(a\s+href=)['"]*(.+?)['"]*>(.+?)<(/a)>#mkurl_param($1,$2,$3,$4)#gsie;
return $out;
}