PHP:parse_url解析URL获取详细信息

Lasted 2020-01-04 16:28:23

parse_url()函数解析 URL,返回其组成部分,返回一个关联数组,包含在 URL 中出现的各种组成部分。

本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url()会尝试尽量正确地将其解析。严重不合格的 URL,会返回 FALSE

语法

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

常用用法

获取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
)

注:使用前最好先通过isset()函数判断是否存在,避免出现错误。

直接获取某个值

<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';

echo parse_url($url, PHP_URL_PATH);

#Output
# /path

第二个参数component值常量如下(默认-1,返回数组,包含所有信息):

  • PHP_URL_SCHEME
  • PHP_URL_HOST
  • PHP_URL_PORT
  • PHP_URL_USER
  • PHP_URL_PASS
  • PHP_URL_PATH
  • PHP_URL_QUERY
  • PHP_URL_FRAGMENT