7.18. URL Functions#
Extraction Functions#
The URL extraction functions extract components from HTTP URLs (or any valid URIs conforming to RFC 2396). The following syntax is supported:
[protocol:][//host[:port]][path][?query][#fragment]
The extracted components do not contain URI syntax separators
such as : or ?.
-
url_extract_fragment(url) → varchar# Returns the fragment identifier from
url.
-
url_extract_host(url) → varchar# Returns the host from
url.
-
url_extract_parameter(url, name) → varchar# Returns the value of the first query string parameter named
namefromurl. Parameter extraction is handled in the typical manner as specified by RFC 1866#section-8.2.1.
-
url_extract_path(url) → varchar# Returns the path from
url.
-
url_extract_port(url) → bigint# Returns the port number from
url.
-
url_extract_protocol(url) → varchar# Returns the protocol from
url.
-
url_extract_query(url) → varchar# Returns the query string from
url.
Encoding Functions#
-
url_encode(value) → varchar# Escapes
valueby encoding it so that it can be safely included in URL query parameter names and values:- Alphanumeric characters are not encoded.
- The characters
.,-,*and_are not encoded. - The ASCII space character is encoded as
+. - All other characters are converted to UTF-8 and the bytes are encoded
as the string
%XXwhereXXis the uppercase hexadecimal value of the UTF-8 byte.
-
url_decode(value) → varchar# Unescapes the URL encoded
value. This function is the inverse ofurl_encode().