mirror of
https://github.com/eworm-de/routeros-scripts
synced 2024-05-14 08:04:19 +00:00
global-functions: $UrlEncode: simplify code
This commit is contained in:
parent
a019ff861e
commit
7829a6c33a
1 changed files with 15 additions and 14 deletions
|
@ -1016,24 +1016,25 @@
|
|||
# url encoding
|
||||
:set UrlEncode do={
|
||||
:local Input [ :tostr $1 ];
|
||||
|
||||
:if ([ :len $Input ] = 0) do={
|
||||
:return "";
|
||||
}
|
||||
|
||||
:local Return "";
|
||||
:local Chars "\n\r !\"#\$%&'()*+,:;<=>\?@[\\]^`{|}~";
|
||||
:local Subs { "%0A"; "%0D"; "%20"; "%21"; "%22"; "%23"; "%24"; "%25"; "%26"; "%27";
|
||||
"%28"; "%29"; "%2A"; "%2B"; "%2C"; "%3A"; "%3B"; "%3C"; "%3D"; "%3E"; "%3F";
|
||||
"%40"; "%5B"; "%5C"; "%5D"; "%5E"; "%60"; "%7B"; "%7C"; "%7D"; "%7E" };
|
||||
|
||||
:if ([ :len $Input ] > 0) do={
|
||||
:local Chars "\n\r !\"#\$%&'()*+,:;<=>\?@[\\]^`{|}~";
|
||||
:local Subs { "%0A"; "%0D"; "%20"; "%21"; "%22"; "%23"; "%24"; "%25"; "%26"; "%27";
|
||||
"%28"; "%29"; "%2A"; "%2B"; "%2C"; "%3A"; "%3B"; "%3C"; "%3D"; "%3E";
|
||||
"%3F"; "%40"; "%5B"; "%5C"; "%5D"; "%5E"; "%60"; "%7B"; "%7C"; "%7D";
|
||||
"%7E" };
|
||||
:for I from=0 to=([ :len $Input ] - 1) do={
|
||||
:local Char [ :pick $Input $I ];
|
||||
:local Replace [ :find $Chars $Char ];
|
||||
|
||||
:for I from=0 to=([ :len $Input ] - 1) do={
|
||||
:local Char [ :pick $Input $I ];
|
||||
:local Replace [ :find $Chars $Char ];
|
||||
|
||||
:if ([ :len $Replace ] > 0) do={
|
||||
:set Char ($Subs->$Replace);
|
||||
}
|
||||
:set Return ($Return . $Char);
|
||||
:if ([ :typeof $Replace ] = "num") do={
|
||||
:set Char ($Subs->$Replace);
|
||||
}
|
||||
:set Return ($Return . $Char);
|
||||
}
|
||||
|
||||
:return $Return;
|
||||
|
|
Loading…
Reference in a new issue