parse_url
函数是 PHP 中的一个内置函数,用于解析 URL 并返回其组成部分。
下面是 parse_url
函数的语法:
parse_url(string $url, int $component = -1): mixed
参数说明:
$url
:要解析的 URL 字符串。$component
:可选参数,指定要返回的 URL 组成部分。可以是以下常量之一:PHP_URL_SCHEME
、PHP_URL_HOST
、PHP_URL_PORT
、PHP_URL_USER
、PHP_URL_PASS
、PHP_URL_PATH
、PHP_URL_QUERY
、PHP_URL_FRAGMENT
。如果省略或设置为-1
,则返回完整的 URL 数组。
返回值:
- 当
$component
参数指定为特定的 URL 组成部分时,返回该组成部分的字符串值。 - 当
$component
参数设置为-1
或省略时,返回一个关联数组,包含 URL 的所有组成部分。
下面是一个示例,演示如何使用 parse_url
函数解析 URL:
$url = "https://username:password@www.example.com:8080/path?query=param#fragment";// 解析完整的 URL 数组
$parts = parse_url($url);
print_r($parts);// 解析特定的 URL 组成部分
$scheme = parse_url($url, PHP_URL_SCHEME);
$host = parse_url($url, PHP_URL_HOST);
$port = parse_url($url, PHP_URL_PORT);
$user = parse_url($url, PHP_URL_USER);
$pass = parse_url($url, PHP_URL_PASS);
$path = parse_url($url, PHP_URL_PATH);
$query = parse_url($url, PHP_URL_QUERY);
$fragment = parse_url($url, PHP_URL_FRAGMENT);echo "Scheme: $scheme\n";
echo "Host: $host\n";
echo "Port: $port\n";
echo "User: $user\n";
echo "Pass: $pass\n";
echo "Path: $path\n";
echo "Query: $query\n";
echo "Fragment: $fragment\n";
输出:
Array
([scheme] => https[host] => www.example.com[port] => 8080[user] => username[pass] => password[path] => /path[query] => query=param[fragment] => fragment
)
Scheme: https
Host: www.example.com
Port: 8080
User: username
Pass: password
Path: /path
Query: query=param
Fragment: fragment
@漏刻有时