/[webpac]/trunk/back2html.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/back2html.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 781 by dpavlin, Wed Jan 19 22:29:54 2005 UTC revision 782 by dpavlin, Mon Apr 6 14:19:15 2009 UTC
# Line 12  sub back2html { Line 12  sub back2html {
12          $html =~ s/>/>/g;          $html =~ s/>/>/g;
13          my $out;          my $out;
14          foreach $line (split(/\s*###\s*/,$html)) {          foreach $line (split(/\s*###\s*/,$html)) {
15                  $out .= "<tr><td valign=\"top\">";                  $out .= "<tr><td valign=\"top\" class=\"htmlLeft\">";
16                  my @items = split(/\s*#-#\s*/,$line);                  my @items = split(/\s*#-#\s*/,$line);
17                  # convert spaces in left field to non-breaking spaces                  # convert spaces in left field to non-breaking spaces
18                  $items[0] =~ s#\s+#&nbsp;#g;                  $items[0] =~ s#\s+#&nbsp;#g;
19                  # try to make link on right field                  # try to make link on right field
20                  sub mkurl($) {                  sub mkurl($) {
21                          my $url = shift || die "mkurl needs url as argument";                          my $url = shift || die "mkurl needs url as argument";
22                          # chop URLS longer than 60 characters                          # chop URLS longer than ... characters
23                          my $txturl = substr($1,0,60);                          my $txturl = substr($1,0,40);
24                          $txturl .= "..." if (length($1) > 60);                          my $title = '';
25                          return "<a href=\"$url\">$txturl</a>";                          if (length($1) > 40) {
26                                    $txturl .= "...";
27                                    $title = " title=\"$url\"";
28                            }
29                            return "<a href=\"$url\"$title>$txturl</a>";
30                  }                  }
31                  $items[1] =~ s#(http://[\S]+)#mkurl($1)#gie;                  $items[1] =~ s#(http://[\S]+)#mkurl($1)#gie;
32                  $out .= join("</td><td>",@items);                  $out .= join("</td><td>",@items);
33                  $out .= "</td></tr>\n";                  $out .= "</td></tr>\n";
34          }          }
35          # put <br> back into html          # put <br> and <b> back into html
36          $out =~ s,&lt;br/*&gt;,<br/>,gi;          $out =~ s,&lt;br/*&gt;,<br/>,gi;
37            $out =~ s,&lt;b&gt;,<b>,gi;
38            $out =~ s,&lt;/b&gt;,</b>,gi;
39          # put <a href=xxx>yyyy</a> back into html          # put <a href=xxx>yyyy</a> back into html
40          sub mkurl_param($$$$) {          sub mkurl_param($$$$$) {
41                  my ($a_href,$url,$text,$a_end) = @_;                  my ($a_href,$url,$text,$a_end, $url_params) = @_;
42                  if ($url_params) {                  if ($url_params) {
43                          if ($url =~ m#\?#) {                          if ($url =~ m#\?#) {
44                                  $url .= "&".$url_params;                                  $url .= "&".$url_params;
# Line 42  sub back2html { Line 48  sub back2html {
48                  }                  }
49                  return '<'.$a_href.'"'.$url.'">'.$text.'<'.$a_end.'>';                  return '<'.$a_href.'"'.$url.'">'.$text.'<'.$a_end.'>';
50          }          }
51          $out =~ s#&lt;(a\s+href=)['"]*(.+?)['"]*&gt;(.+?)&lt;(/a)&gt;#mkurl_param($1,$2,$3,$4)#gsie;          $out =~ s#&lt;(a\s+href=)['"]*(.+?)['"]*&gt;(.+?)&lt;(/a)&gt;#mkurl_param($1,$2,$3,$4,$url_params)#gsie;
52          return $out;          return $out;
53  }  }
54    

Legend:
Removed from v.781  
changed lines
  Added in v.782

  ViewVC Help
Powered by ViewVC 1.1.26