Erläuterung:
Die Subroutine HTML_SONDERZ_URL nimmte eine URL-Kodierung (ISO-8859-1-Code (8-Bit-ASCII-Code)) aller oder der 125 wichtigsten, europäischen Sonderzeichen (von %22 bis %ff ) vor.
In der beiliegenden Datei PL0003.pm ist die Programmierung als eigenes Perl-Modul ausgeführt, lauffähig sowohl unter Linux/Perl als auch Windows/Active Perl.
Subroutine:
sub HTML_SONDERZ_URL
{
my ($String) = $_[0];
if($_[1] eq "all"
{
use URI::Escape;
my $safe = uri_escape($String);
return ($safe);
}
$String =~ s/"/%22/mg;
$String =~ s/#/%23/mg;
$String =~ s/\$/%24/mg;
$String =~ s/%/%25/mg;
$String =~ s/&/%26/mg;
$String =~ s/'/%27/mg;
$String =~ s/\+/%2b/mg;
$String =~ s/\//%2f/mg;
$String =~ s/:/%3a/mg;
$String =~ s/;/%3b/mg;
$String =~ s/</%3c/mg;
$String =~ s/=/%3d/mg;
$String =~ s/>/%3e/mg;
$String =~ s/\?/%3f/mg;
$String =~ s/@/%40/mg;
$String =~ s/\[/%5b/mg;
$String =~ s/\\/%5c/mg;
$String =~ s/\]/%5d/mg;
$String =~ s/\^/%5e/mg;
$String =~ s/_/%5f/mg;
$String =~ s/`/%60/mg;
$String =~ s/\{/%7b/mg;
$String =~ s/\|/%7c/mg;
$String =~ s/\}/%7d/mg;
$String =~ s/~/%7e/mg;
$String =~ s/€/%80/mg;
$String =~ s/ƒ/%83/mg;
$String =~ s/‰/%89/mg;
$String =~ s/Š/%90/mg;
$String =~ s//%97/mg;
$String =~ s/¡/%a1/mg;
$String =~ s/¢/%a2/mg;
$String =~ s/£/%a3/mg;
$String =~ s/¤/%a4/mg;
$String =~ s/¥/%a5/mg;
$String =~ s/¦/%a6/mg;
$String =~ s/§/%a7/mg;
$String =~ s/¨/%a8/mg;
$String =~ s/©/%a9/mg;
$String =~ s/ª/%aa/mg;
$String =~ s/«/%ab/mg;
#$String =~ s/¬/¬/mg;
$String =~ s/®/%ae/mg;
#$String =~ s/¯/&hibar;/mg;
$String =~ s/°/%b0/mg;
$String =~ s/±/%b1/mg;
$String =~ s/²/%b2/mg;
$String =~ s/³/%b3/mg;
$String =~ s/´/%b4/mg;
$String =~ s/µ/%b5/mg;
$String =~ s/¶/%b6/mg;
$String =~ s/\n/%b6/mg;
$String =~ s/\s/%b6/mg;
$String =~ s/·/%b7/mg;
$String =~ s/¸/%b8/mg;
$String =~ s/¹/%b9/mg;
$String =~ s/º/%ba/mg;
$String =~ s/»/%bb/mg;
$String =~ s/¼/%bc/mg;
$String =~ s/½/%bd/mg;
$String =~ s/¾/%be/mg;
$String =~ s/¿/%bf/mg;
$String =~ s/À/%c0/mg;
$String =~ s/Á/%c1/mg;
$String =~ s/Â/%c2/mg;
$String =~ s/Ã/%c3/mg;
$String =~ s/Ä/%c4/mg;
$String =~ s/Å/%c5/mg;
$String =~ s/Æ/%c6/mg;
$String =~ s/Ç/%c7/mg;
$String =~ s/È/%c8/mg;
$String =~ s/É/%c9/mg;
$String =~ s/Ê/%ca/mg;
$String =~ s/Ë/%cb/mg;
$String =~ s/Ì/%cc/mg;
$String =~ s/Í/%cd/mg;
$String =~ s/Î/%ce/mg;
$String =~ s/Ï/%cf/mg;
$String =~ s/Ð/%d0/mg;
$String =~ s/Ñ/%d1/mg;
$String =~ s/Ò/%d2/mg;
$String =~ s/Ó/%d3/mg;
$String =~ s/Ô/%d4/mg;
$String =~ s/Õ/%d5/mg;
$String =~ s/Ö/%d6/mg;
$String =~ s/×/%d7/mg;
$String =~ s/Ø/%d8/mg;
$String =~ s/Ù/%d9/mg;
$String =~ s/Ú/%da/mg;
$String =~ s/Û/%db/mg;
$String =~ s/Ü/%dc/mg;
$String =~ s/Ý/%dd/mg;
$String =~ s/Þ/%de/mg;
$String =~ s/ß/%df/mg;
$String =~ s/à/%e0/mg;
$String =~ s/á/%e1/mg;
$String =~ s/â/%e2/mg;
$String =~ s/ã/%e3/mg;
$String =~ s/ä/%e4/mg;
$String =~ s/å/%e5/mg;
$String =~ s/æ/%e6/mg;
$String =~ s/ç/%e7/mg;
$String =~ s/è/%e8/mg;
$String =~ s/é/%e9/mg;
$String =~ s/ê/%ea/mg;
$String =~ s/ë/%eb/mg;
$String =~ s/ì/%ec/mg;
$String =~ s/í/%ed/mg;
$String =~ s/î/%ee/mg;
$String =~ s/ï/%ef/mg;
$String =~ s/ð/%f0/mg;
$String =~ s/ñ/%f1/mg;
$String =~ s/ò/%f2/mg;
$String =~ s/ó/%f3/mg;
$String =~ s/ô/%f4/mg;
$String =~ s/õ/%f5/mg;
$String =~ s/ö/%f6/mg;
$String =~ s/÷/%f7/mg;
$String =~ s/ø/%f8/mg;
$String =~ s/ù/%f9/mg;
$String =~ s/ú/%fa/mg;
$String =~ s/û/%fb/mg;
$String =~ s/ü/%fc/mg;
$String =~ s/ý/%fd/mg;
$String =~ s/þ/%fe/mg;
$String =~ s/ÿ/%ff/mg;
$String =~ s/ /%20/mg;
return($String);
} |
Aufruf:
1. Subroutine
$String_kodiert = &HTML_SONDERZ_URL($String,"all");
z.B.
$cod = &HTML_SONDERZ_HTML("Straße","all");
# $cod enhält "Stra%df e"
Die Subroutine muss im Programmtext gespeichert sein.
2. Modul
A:Speichern Sie das Modul in Ihrem Perlverzeichnis unter
/usr/bin/perl/lib/EIGEN/HTML/PL0003.pm (Linux)
c:\Perl\lib\EIGEN\HTML\PL0003.pm (Windows)
B: Fügen Sie in den Kopf Ihres Perl-Programmes folgende Zeile ein:
use EIGEN::HTML::PL0003 qw(HTML_SONDERZ_URL);
C: So rufen Sie die Subroutine auf:
$cod = HTML_SONDERZ_URL("Straße","all"); # ohne "&" korrekt!
Die Subroutine muss nicht im Programmtext gespeichert sein.
3.Hinweis
An Stelle des 2. Parameters "all" kann der Subroutine auch ein leerer String "" übergeben werden.
"all" - Alle Sonderzeichen werden durch das Perl Standard-Modul URI::Escape kodiert
"" - Es werden nur die 125 in der Liste enthaltenen Sonderzeichen kodiert (für manche Anwendungsfälle sehr nützlich)
|