/[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 636 - (show annotations)
Tue Jan 18 17:07:14 2005 UTC (19 years, 3 months ago) by dpavlin
File size: 1248 byte(s)
Implemented persist_search hidden variable in forms which can specify
(multiple) number of variables which should be persistent after user
specified them in form (useful for language for example). Values are
separated by comma (,). Some cleanup and warning removal.

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\">";
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 60 characters
23 my $txturl = substr($1,0,60);
24 $txturl .= "..." if (length($1) > 60);
25 return "<a href=\"$url\">$txturl</a>";
26 }
27 $items[1] =~ s#(http://[\S]+)#mkurl($1)#gie;
28 $out .= join("</td><td>",@items);
29 $out .= "</td></tr>\n";
30 }
31 # put <br> back into html
32 $out =~ s,&lt;br/*&gt;,<br/>,gi;
33 # put <a href=xxx>yyyy</a> back into html
34 sub mkurl_param($$$$) {
35 my ($a_href,$url,$text,$a_end) = @_;
36 if ($url =~ m#\?#) {
37 $url .= "&".$url_params;
38 } else {
39 $url .= "?".$url_params;
40 }
41 return '<'.$a_href.'"'.$url.'">'.$text.'<'.$a_end.'>';
42 }
43 $out =~ s#&lt;(a\s+href=)['"]*(.+?)['"]*&gt;(.+?)&lt;(/a)&gt;#mkurl_param($1,$2,$3,$4)#gsie;
44 return $out;
45 }
46
47 1;

Properties

Name Value
cvs2svn:cvs-rev 1.11

  ViewVC Help
Powered by ViewVC 1.1.26