English | 简体中文 | 繁體中文
查询

parse_url()函数—用法及示例

「 解析URL字符串,并返回一个关联数组,包含URL的各个组成部分 」


函数名称:parse_url()

适用版本:所有版本的PHP(5.x到最新版本)

函数描述:parse_url()函数用于解析URL字符串,并返回一个关联数组,包含URL的各个组成部分。URL的组成部分包括协议、主机名、端口号、路径、查询字符串和片段。

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

参数:

  • $url:需要解析的URL字符串。
  • $component(可选):指定要返回的URL组件。默认值为-1,表示返回所有组件。可选值有:
    • PHP_URL_SCHEME:协议(例如http、https)。
    • PHP_URL_HOST:主机名。
    • PHP_URL_PORT:端口号。
    • PHP_URL_USER:用户名。
    • PHP_URL_PASS:密码。
    • PHP_URL_PATH:路径。
    • PHP_URL_QUERY:查询字符串。
    • PHP_URL_FRAGMENT:片段。

返回值:如果指定了$component参数,则返回对应的URL组件。如果未指定$component参数,则返回一个包含所有URL组件的关联数组。如果解析失败,则返回false。

示例:

  1. 解析完整URL并返回所有组件:
$url = "https://www.example.com:8080/path/to/file.php?param1=value1&param2=value2#fragment";
$result = parse_url($url);
print_r($result);

输出结果:

Array
(
    [scheme] => https
    [host] => www.example.com
    [port] => 8080
    [path] => /path/to/file.php
    [query] => param1=value1&param2=value2
    [fragment] => fragment
)
  1. 解析URL并返回指定的组件(主机名和路径):
$url = "https://www.example.com/path/to/file.php?param1=value1&param2=value2#fragment";
$host = parse_url($url, PHP_URL_HOST);
$path = parse_url($url, PHP_URL_PATH);
echo "Host: $host\n";
echo "Path: $path\n";

输出结果:

Host: www.example.com
Path: /path/to/file.php
  1. 解析URL并返回指定的组件(查询字符串):
$url = "https://www.example.com/path/to/file.php?param1=value1&param2=value2#fragment";
$query = parse_url($url, PHP_URL_QUERY);
echo "Query: $query\n";

输出结果:

Query: param1=value1&param2=value2

注意:parse_url()函数只能解析标准的URL字符串,如果URL字符串不符合标准格式,解析可能会失败。

补充纠错
上一个函数: passthru()函数
下一个函数: parse_str()函数
热门PHP函数
分享链接