解析url

对url进行解析,比如要从url中获取protocol、host、port、Query等信息,我们可以通过几个函数实现。

parse_url() //- 返回protocol,post,port,query等信息
pathinfo() //- 返回文件路径的信息
dirname() //- 返回路径中的目录部分
basename() //- 返回路径中的文件名部分

1.parse_url()

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

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

url
The URL to parse. Invalid characters are replaced by _.

component
指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string;

指定为 PHP_URL_PORT ,将返回一个 integer 的值。

2.pathinfo()

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

说明:返回文件路径信息

path
要解析的路径。

options
如果指定,将会返回指定元素;包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION 或 PATHINFO_FILENAME。

如果没有指定 options 默认返回全部的单元。

3.basename()

string basename ( string $path [, string $suffix ] )

说明:返回路径中的文件名信息

path
路径,在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。

suffix
如果文件名是以 suffix 结束的,那这一部分也会被去掉。

4.dirname()

string dirname ( string $path )

说明:返回去掉文件名后的目录名

path
路径,在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。

假设$url = ‘https://www.google.com:80/search?q=php&sourceid=chrome&ie=UTF-8‘;

四个函数结果如下:

解析url_第1张图片

你可能感兴趣的:(PHP)