php中一个好用的函数parse_url,特别方便用来解析URL,该函数将URL解析为一个关联数组,该关联数组包含URL中出现的各种组成部分,组成部分为:
- scheme - 如 http
- host
- port
- user
- pass
- path
- query - 在问号 ? 之后
- fragment - 在散列符号 # 之后
parse_url函数不会去验证给定 URL 的合法性,它只是将其分解为上面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。
语法
array parse_url(string $url,int $component)
参数
| 参数名 | 参数说明 |
| $url | 要解析的 URL |
| $component | 指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string。 (除了指定为 PHP_URL_PORT 后,将返回一个 integer 的值)。 |
<##ads_in_article_manong##>
实例
<?php
$url = \"http://blog.xxx.com:8080/index.php?name=wxp&id=2\";
$parts = parse_url($url);
print_r($parts);
?>
运行结果为:
Array
(
[scheme] => http
[host] => blog.xxx.com
[port] => 8080
[path] => /index.php
[query] => name=wxp&id=2
)
再看一个复杂一点的实例:
<?php
$url = \'http://hello:manong@jiaochen/blog?name=wxp#student\';
print_r(parse_url($url));
echo \"<br/><br/>\";
echo parse_url($url, PHP_URL_PATH);
?>
运行结果如下:
Array
(
[scheme] => http
[host] => jiaochen
[user] => hello
[pass] => manong
[path] => /blog
[query] => name=wxp
[fragment] => student
)
/blog
从这个代码可以看出,我们可以设置第二个参数来获取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
继续阅读与本文标签相同的文章
-
超进化,时尚玩主的全新一代名爵ZS,起步只要7.98万
2026-05-14栏目: 教程
-
微信 7.0.8 内测新功能,教你如何激活它
2026-05-14栏目: 教程
-
美女机器人刚上市就售罄,除了生孩子,其他什么都能干!
2026-05-14栏目: 教程
-
互联网之光大会的黑科技,总有一款惊艳你!
2026-05-14栏目: 教程
-
微信宣布一项新举措,关系到每一个用户,网友一致力挺:干得漂亮!
2026-05-14栏目: 教程
