火狐文件url encode php,解析 URL,返回其组成部分 - PHP 7 中文文档

(PHP 4, PHP 5, PHP 7)

parse_url – 解析 URL,返回其组成部分

说明

parse_url

( string $url

[, int $component = -1

] ) : [mixed](php7/language.pseudo-types)

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

本函数不是用来验证给定 URL

的合法性的,只是将其分解为下面列出的部分。不完整的 URL

也被接受,parse_url() 会尝试尽量正确地将其解析。

参数

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](php7/language.types.string)。 (除了指定为 PHP_URL_PORT 后,将返回一个 [integer](php7/language.types.integer) 的值)。

返回值

对严重不合格的 URL,parse_url() 可能会返回

FALSE。

如果省略了 component 参数,将返回一个关联数组 [array](php7/language.types.array),在目前至少会有一个元素在该数组中。数组中可能的键有以下几种:

scheme – 如 http

host

port

user

pass

path

query – 在问号 ? 之后

fragment – 在散列符号 # 之后

如果指定了 component 参数,

parse_url() 返回一个 [string](php7/language.types.string) (或在指定为 PHP_URL_PORT 时返回一个 [integer](php7/language.types.integer))而不是 [array](php7/language.types.array)。如果 URL 中指定的组成部分不存在,将会返回 NULL。

更新日志

版本

说明

5.4.7

修复了 host 在 协议 省略时的识别。

5.3.3

在 URL 解析失败时将不会产生 E_WARNING 级别的错误。

5.1.2

增加了参数 component。

范例

Example #1 parse_url() 例子

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

print_r(parse_url($url));

echo parse_url($url, PHP_URL_PATH);

?>

以上例程会输出:

Array

(

[scheme] => http

[host] => hostname

[user] => username

[pass] => password

[path] => /path

[query] => arg=value

[fragment] => anchor

)

/path

Example #2 parse_url() 解析丢失协议的例子

$url = '//www.example.com/path?googleguy=googley';

// 在 5.4.7 之前这会输出路径 "//www.example.com/path"

var_dump(parse_url($url));

?>

以上例程会输出:

array(3) {

["host"]=>

string(15) "www.example.com"

["path"]=>

string(5) "/path"

["query"]=>

string(17) "googleguy=googley"

}

注释

Note:

本函数不能用于相对 URL。

Note:

parse_url() 是专门用来解析 URL 而不是 URI 的。不过为遵从 PHP

向后兼容的需要有个例外,对 file:// 协议允许三个斜线(file:///…)。其它任何协议都不能这样。

参见

[pathinfo()](php7/function.pathinfo) – 返回文件路径的信息

[parse_str()](php7/function.parse-str) – 将字符串解析成多个变量

[http_build_query()](php7/function.http-build-query) – 生成 URL-encode 之后的请求字符串

http_build_url()

[dirname()](php7/function.dirname) – 返回路径中的目录部分

[basename()](php7/function.basename) – 返回路径中的文件名部分

» RFC 3986

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值