updated git and svn scripts
[xrzperl.git] / htmllink
blob8d3eea8ce84e983aa775c3529b840a62a4382c62
1 #!/usr/bin/perl -w
2 use strict;
4 exit 0 unless(system("plhelp",$0,(@ARGV)));
6 #http://www.google.com/intl/
7 sub GetBaseUrl($) {
8 my $result=shift;
9 if (! $result) {return "";}
10 if ($result !~ /^\w+:\/\//i) {
11 $result = "http://" . $result;
12 $result =~ s/^http:\/\/\/*/http:\/\//;
14 $result =~ s/(\w+):\/\/(.*)\/[^\/]*$/$1:\/\/$2/;
15 $result .= "/";
16 $result =~ s/([^:\/])\/\//$1\//g;
17 return $result;
20 #http://www.google.com
21 sub GetRootUrl($) {
22 my $result=shift;
23 $result =~ s/(\w+):\/\/([^\/]*).*/$1:\/\/$2/;
24 return $result;
27 sub FullUrl($$@) {
28 my $base = shift;
29 my $root = shift;
30 my @result=();
31 foreach(@_) {
32 my $url=$_;
33 if ($url =~ /^\//) {
34 $url = $root . $url;
36 else {
37 if ($url !~ /^(\w+):\/\//i) {
38 $url = $base . $url;
41 if ($url !~ /^(\w+):\/\//i) {
42 $url = "http://" . $url;
44 push @result,$url;
46 return @result;
50 my $BaseUrl=GetBaseUrl($ARGV[0]);
51 my $RootUrl=GetRootUrl($BaseUrl);
53 my @urls=();
55 #sub ripurl
56 while(<STDIN>) {
57 # s/[\n\t]//g;
58 s/"/'/g;
59 s/(href|src)\s*=\s*/HREF=/gi;
60 s/'((http|ftp):\/\/[^']+?)'/HREF='$1'/g;
61 s/[^']((http|ftp):\/\/[^ \<\>]+)/HREF='$1'/g;
62 s/HREF=([^'][^ \<\>]+)/HREF='$1'/g;
63 s/HREF='HREF=/HREF=/g;
64 my @match = ( $_ =~ /HREF='\s*([^']+?)\s*'/g );
65 @match = FullUrl($BaseUrl,$RootUrl,@match);# if ($BaseUrl);
66 foreach(@match) {
67 print "$_\n";