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])
参数说明
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
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');