--- trunk/back2html.pm 2003/11/16 13:20:14 146 +++ trunk/back2html.pm 2009/04/06 14:19:15 782 @@ -6,28 +6,49 @@ sub back2html { my $html = shift; + my $url_params = shift; $html =~ s//>/g; my $out; foreach $line (split(/\s*###\s*/,$html)) { - $out .= ""; + $out .= ""; 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 { + 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 "$txturl"; + # chop URLS longer than ... characters + my $txturl = substr($1,0,40); + my $title = ''; + if (length($1) > 40) { + $txturl .= "..."; + $title = " title=\"$url\""; + } + return "$txturl"; } $items[1] =~ s#(http://[\S]+)#mkurl($1)#gie; $out .= join("",@items); $out .= "\n"; } - $out =~ s/<br\/*>//g; + # put
and back into html + $out =~ s,<br/*>,
,gi; + $out =~ s,<b>,,gi; + $out =~ s,</b>,,gi; + # put yyyy back into html + sub mkurl_param($$$$$) { + my ($a_href,$url,$text,$a_end, $url_params) = @_; + if ($url_params) { + 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,$url_params)#gsie; return $out; }