/[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

Contents of /trunk/back2html.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 782 - (show annotations)
Mon Apr 6 14:19:15 2009 UTC (14 years, 11 months ago) by dpavlin
File size: 1460 byte(s)
merge fix from trunk to all branches

1 #
2 # reformat html inside xml back to html (basically, support for tables)
3 #
4 # filed #-# field ###
5 # ...
6
7 sub back2html {
8 my $html = shift;
9 my $url_params = shift;
10
11 $html =~ s/</&lt;/g;
12 $html =~ s/>/&gt;/g;
13 my $out;
14 foreach $line (split(/\s*###\s*/,$html)) {
15 $out .= "<tr><td valign=\"top\" class=\"htmlLeft\">";
16 my @items = split(/\s*#-#\s*/,$line);
17 # convert spaces in left field to non-breaking spaces
18 $items[0] =~ s#\s+#&nbsp;#g;
19 # try to make link on right field
20 sub mkurl($) {
21 my $url = shift || die "mkurl needs url as argument";
22 # chop URLS longer than ... characters
23 my $txturl = substr($1,0,40);
24 my $title = '';
25 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;
32 $out .= join("</td><td>",@items);
33 $out .= "</td></tr>\n";
34 }
35 # put <br> and <b> back into html
36 $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
40 sub mkurl_param($$$$$) {
41 my ($a_href,$url,$text,$a_end, $url_params) = @_;
42 if ($url_params) {
43 if ($url =~ m#\?#) {
44 $url .= "&".$url_params;
45 } else {
46 $url .= "?".$url_params;
47 }
48 }
49 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,$url_params)#gsie;
52 return $out;
53 }
54
55 1;

Properties

Name Value
cvs2svn:cvs-rev 1.11

  ViewVC Help
Powered by ViewVC 1.1.26