Manipulate and Parse URLs
List of Global Functions
Build - Build URL from tokens as parsed with Parse
Check - Check URL
EscapeString - Escape reserved characters in string used as a part of URL (e.g. '%' => '%25', '@' => '%40'...)
FormatURL - Format URL - truncate the middle part of the directory to fit to the requested lenght.
MakeMapFromParams - Reads list of HTTP params and returns them as map. (Useful also for cd:/, dvd:/, nfs:/ ... params) Neither keys nor values are HTML-unescaped, see UnEscapeString().
MakeParamsFromMap - Returns string made of HTTP params. It's a reverse function to MakeMapFromParams(). Neither keys nor values are HTML-escaped, use EscapeString() if needed.
Parse - Tokenize URL
UnEscapeString - Escape reserved characters in string used as a part of URL (e.g. '%25' => '%', '%40' => '@'...)
List of Global Variables
transform_map_filename - Transform map used for (un)escaping characters in file location part of an URL. It doesn't contain '%' because this character must be used in a particular order (the first or the last) during processing
transform_map_passwd - Transform map used for (un)escaping characters in username/password part of an URL. It doesn't contain '%' because this character must be used in a particular order (the first or the last) during processing
transform_map_query - Transform map used for (un)escaping characters in query part of a URL. It doesn't contain '%' because this character must be used in a particular order (the first or the last) during processing
Build URL from tokens as parsed with Parse
Function parameters
map tokens
Return value
string - url, empty string if invalid data is used to build the url.
Escape reserved characters in string used as a part of URL (e.g. '%' => '%25', '@' => '%40'...)
Function parameters
string in
map<string,string> transform
Return value
string - escaped string
Example 132.
URL::EscapeString ("http://some.nice.url/:with:/$p#ci&l/ch@rs/", URL::transform_map_passwd) -> http%3a%2f%2fsome.nice.url%2f%3awith%3a%2f%24p#ci%26l%2fch%40rs%2f
Format URL - truncate the middle part of the directory to fit to the requested lenght.
Function parameters
map tokens
integer len
Return value
string - Truncated URL
Example 133.
FormatURL("http://download.opensuse.org/very/log/path/which/will/be/truncated/target_file", 45) -> "http://download.opensuse.org/.../target_file" FormatURL("http://download.opensuse.org/very/log/path/which/will/be/truncated/target_file", 60) -> "http://download.opensuse.org/very/.../be/truncated/target_file"
Reads list of HTTP params and returns them as map. (Useful also for cd:/, dvd:/, nfs:/ ... params) Neither keys nor values are HTML-unescaped, see UnEscapeString().
Function parameters
string params
Return value
map <string, string> - params
Example 134.
MakeMapFromParams ("device=sda3&login=aaa&password=bbb") -> $[ "device" : "sda3", "login" : "aaa", "password" : "bbb" ]
Returns string made of HTTP params. It's a reverse function to MakeMapFromParams(). Neither keys nor values are HTML-escaped, use EscapeString() if needed.
Function parameters
map <string, string> params_map
Return value
string
Example 135.
MakeMapFromParams ($[ "param1" : "a", "param2" : "b", "param3" : "c", ]) -> "param1=a¶m2=b¶m3=c"
Tokenize URL
Function parameters
string url
Return value
map - URL split to tokens
Example 136.
Parse("http://name:pass@www.suse.cz:80/path/index.html?question#part") -> $[ "scheme" : "http", "host" : "www.suse.cz" "port" : "80", "path" : /path/index.html", "user" : "name", "pass" : "pass", "query" : "question", "fragment": "part" ]
Escape reserved characters in string used as a part of URL (e.g. '%25' => '%', '%40' => '@'...)
Function parameters
string in
map<string,string> transform
Return value
string - unescaped string
Example 137.
URL::UnEscapeString ("http%3a%2f%2fsome.nice.url%2f%3awith%3a%2f%24p#ci%26l%2fch%40rs%2f", URL::transform_map_passwd) -> http://some.nice.url/:with:/$p#ci&l/ch@rs/
Transform map used for (un)escaping characters in file location part of an URL. It doesn't contain '%' because this character must be used in a particular order (the first or the last) during processing
Transform map used for (un)escaping characters in username/password part of an URL. It doesn't contain '%' because this character must be used in a particular order (the first or the last) during processing