php parse_url函数解析url网址参数方法

发布时间:2019-11-13编辑:脚本学堂
本文介绍了php parse_url函数的用法,parse_url用于解析url地址中的参数,解析url网址参数,需要的朋友参考下。

php parse_url函数用法,url参数解决方法。

parse_url用来解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。

PHP 解析 URL函数: parse_url详解
parse_url — 解析 URL,返回其组成部分

说明

array parse_url ( string $url )
本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。

参数
url
要解析的 URL

返回值
对严重不合格的 URL,parse_url() 可能会返回 FALSE 并发出 E_WARNING。否则会返回一个关联数组,其组成部分为(至少有一个):
scheme – 如 http
host
port
user
pass
path
query – 在问号 ? 之后
fragment – 在散列符号 # 之后

例子,parse_url函数用法。
 

复制代码 代码示例:
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
?>

输出:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)

如果传送一大串网址,然后要解析的话,只能不断地去切token来解析。
在php中,可以使用parse_url这个函式来解析url参数,非常方便

这个函式主要是用来解析网址,而首先先看一下这个函式原型,其官方描述如下:
mixed parse_url ( string $url [, int $component= -1 ] )

例子:
 

复制代码 代码示例:
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
print_r(parse_url($url));
?>

输出结果:
Array (
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg1=value1&arg2=value2
[fragment] => anchor
)
其中,scheme是指他走的路线,而host则是站台网址,user则是使用者名称,pass则是密码,path则是路径,query则是参数,fragment则是锚点。

而在「$component」的部份,则是有以下的参数可供传递:
 

PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
 

而这几个参数则分别代表了Array中的scheme、host、user、pass、path、query和fragment。

例子,使用php_url_path和php_url_query来说,以下为示范:
 

复制代码 代码示例:
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor'; echo nl2br(parse_url($url, PHP_URL_PATH)."n");
echo nl2br(parse_url($url, PHP_URL_QUERY)."n");
?>

输出结果:
/path
arg1=value1&arg2=value2