PHP的URL处理函数parse_url

[php] 2024-03-05 圈点724

摘要:parse_url可以很容易分解出一个URL的各个部,如果没有最后一个参数,可以返回整个数组,指定最后一个参数可以返回对应的字符串.

   

parse_url函数原型:

parse_url ( string $url [, int $component = -1 ] )


说明:

parse_url() 函数可以解析一个字符串的URL,并返回一个包含URL 各种组成部分关联数组。如果缺少了其中的某一个,则不会为这个组成部分创建数组项。


组成部分有:

scheme - 如 http

host

port

user

pass

path

query - 在问号 ? 之后

fragment - 在散列符号 # 之后


举例1:

$url = 'http://username:password@hostname/path?a=va&b=vb#anchor';

var_dump(parse_url($url));


结果为:

Array

(

[scheme] => http

[host] => hostname

[user] => username

[pass] => password

[path] => path

[query] => a=va&b=vb

[fragment] => anchor



举例2:

$url = 'http://www.xoxxoo.com/article/show/i/383.html';

var_dump(parse_url($url));


结果为:

Array

(

[scheme] => "http"

[host] => "www.xoxxoo.com"

[path] => "/article/show/i/383.html"



注意:

上面例子中的URL都是正常的。但此函数并不意味着给定的 URL 是合法的,它只是将上方列表中的各部分分开。parse_url() 可接受不完整的 URL,并尽量将其解析正确。如果是不合法的严重错误的URL,将返回false或者Null(如果指定了最后一个参数)



最后一个参数的值可以为:

PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT


表示返回对应的字符串,而不是返回一个数组!


举例:

parse_url("http://www.xoxxoo.com/article/show/i/383.html",PHP_URL_HOST);

将返回一个字符串 :"www.xoxxoo.com"


总结:

parse_url可以很容易分解出一个URL的各个部,如果没有最后一个参数,可以返回整个数组,指定最后一个参数可以返回对应的字符串.

   

parse_url  

感谢反馈,已提交成功,审核后即会显示