8.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 name
from url
. 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 value
by 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
%XX
whereXX
is the uppercase hexadecimal value of the UTF-8 byte.
url_decode
(value) → varchar
Unescapes the URL encoded value
. This function is the inverse of url_encode()
.