php parse url 反向,PHP中一个parse_url的错误用法

parse_url

(PHP 3, PHP 4, PHP 5)

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

描述

array parse_url ( string url )

此函数返回一个关联数组,包含现有 URL 的各种组成部分。如果缺少了其中的某一个,则不会为这个组成部分创建数组项。组成部分为:

scheme – 如 http

host

port

user

pass

path

query – 在问号 ? 之后

fragment – 在散列符号 # 之后

此函数并 不 意味着给定的 URL 是合法的,它只是将上方列表中的各部分分开。parse_url() 可接受不完整的 URL,并尽量将其解析正确。

注: 此函数对相对路径的 URL 不起作用。

另外,此函数可以很容易分解出一个URL的各个部,那如果要拿指定的部分出来的话也很容易,如

echo parse_url($url, PHP_URL_PATH);

就是在第二个参数中,设定如下的参数:

PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT.

例子 1. parse_url() 示例

$ php -r ‘print_r(parse_url(“http://username:password@hostname/path?arg=value#anchor”));’

Array

(

[scheme] => http

[host] => hostname

[user] => username

[pass] => password

[path] => /path

[query] => arg=value

[fragment] => anchor

)

$ php -r ‘print_r(parse_url(“http://invalid_host..name/”));’

Array

(

[scheme] => http

[host] => invalid_host..name

[path] => /

)

例如:

$url = “http://www.diyikaoshi.com/zonghe/jiuye/2010/0916/218.html”;

$parts = parse_url($url);

输入代码如下:

Array

(

[“scheme”]=> string(4) “http”

[“host”]=> string(18) “www.diyikaoshi.com”

[“path”]=> string(32) “/zonghe/jiuye/2010/0916/218.html”

)

如果此时用 empyt 来判断parse_url的话那就错了,因为当$url为空的情况下结果会是:

$url = “”;

$parts = parse_url($url);

Array

(

[“path”]=> string(0) “”

)

显然,其结果仍旧是个数组;所以判断的条件应该写成:

if($url!=””){ else “……”;}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值