php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
程序员文章站
2022-11-27 15:00:55
php 解析 url函数: parse_url详解 parse_url — 解析 url,返回其组成部分 说明 array parse_url ( string $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中,一定要学会使用前人所写过的函式,这样开发速度才会快别人一截。当然,要解析网址的话,就得去找相关的指令,而今天要介绍的,就是php中的parse_url这个函式。
这个函式主要是用来解析网址,而首先先看一下这个函式原型,其官方描述如下:
mixed parse_url ( string $url [, int $component= -1 ] )
而php官方举了一个例子,而我将他扩充如下,以方便讲解。
<?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
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中,一定要学会使用前人所写过的函式,这样开发速度才会快别人一截。当然,要解析网址的话,就得去找相关的指令,而今天要介绍的,就是php中的parse_url这个函式。
这个函式主要是用来解析网址,而首先先看一下这个函式原型,其官方描述如下:
mixed parse_url ( string $url [, int $component= -1 ] )
而php官方举了一个例子,而我将他扩充如下,以方便讲解。
复制代码 代码如下:
<?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
上一篇: 浅拷贝与深拷贝
推荐阅读
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)_PHP
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)_PHP
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)_php技巧
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)_php技巧
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)_PHP教程
-
php中使用parse_url对网址进行解析的实现代码parse_url详解
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
-
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)