更新时间:2023-11-30 GMT+08:00

parse_url

parse_url函数用于返回给定URL的指定部分,partToExtract的有效值包括HOST,PATH, QUERY, REF, PROTOCOL, AUTHORITY,FILE和USERINFO。

例如:parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST') 返回 'facebook.com'.。

当第二个参数为QUERY时,可以使用第三个参数提取特定参数的值,例如: parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'QUERY', 'k1') 返回'v1'。

命令格式

parse_url(string urlString, string partToExtract [, string keyToExtract])

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

urlString

STRING

URL链接。无效URL链接会返回报错。

partToExtract

STRING

取值包含:HOST、PATH、QUERY、REF、PROTOCOL、AUTHORITY、FILE和USERINFO,不区分大小写。

keyToExtract

STRING

当part取值为QUERY时,根据key值取出对应的Value值。

返回值说明

返回STRING类型。返回规则如下:

  • urlString、partToExtract或keyToExtract值为NULL时,返回NULL。
  • partToExtract 取值不符合要求时,返回报错。

示例代码

返回example.com。

select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'HOST'); 

返回/over/there/index.dtb。

select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'PATH'); 

返回animal。

select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'QUERY', 'type'); 

返回nose。

select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'REF'); 

返回file。

select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'PROTOCOL'); 

返回 username@example.com:8042。

select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'AUTHORITY'); 

返回username。

select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'USERINFO');