URL 函数

提取函数

URL 提取函数从 HTTP URL(或符合RFC 2396的任何有效 URI)中提取组件。支持以下语法

[protocol:][//host[:port]][path][?query][#fragment]

提取的组件不包含 URI 语法分隔符,例如 :?

url_extract_fragment(url) -> varchar()

url 返回片段标识符。

url_extract_host(url) -> varchar()

url 返回主机。

url_extract_parameter(url, name) -> varchar()

url 返回名为 name 的第一个查询字符串参数的值。参数提取按照 RFC 1866#section-8.2.1 中指定的典型方式处理。

url_extract_path(url) -> varchar()

url 返回路径。

url_extract_port(url) -> bigint()

url 返回端口号。

url_extract_protocol(url) -> varchar()

url 返回协议。

url_extract_query(url) -> varchar()

url 返回查询字符串。

编码函数

url_encode(value) -> varchar()

通过对 value 进行编码来对其进行转义,以便可以将其安全地包含在 URL 查询参数名称和值中

  • 字母数字字符不会被编码。

  • 字符 .-*_ 不会被编码。

  • ASCII 空格字符被编码为 +

  • 所有其他字符都转换为 UTF-8,并且字节被编码为字符串 %XX,其中 XX 是 UTF-8 字节的大写十六进制值。

url_decode(value) -> varchar()

对 URL 编码的 value 进行反转义。此函数是 url_encode() 的逆函数。