解析URL的php方法

1,利用pathinfo: pathinfo() 函数以数组的形式返回文件路径的信息。

<span style="font-size:18px;"><?php
$test = pathinfo("http://localhost/index.php");
print_r($test);
?>
结果如下
Array
(
    [dirname] => http://localhost //url的路径
    [basename] => index.php  //完整文件名
    [extension] => php  //文件名后缀
    [filename] => index //文件名
)</span>

2、利用parse_url: parse_url -解析URL并返回其组成部分

<span style="font-size:18px;"><span style="font-size:18px;"><?php
$test = parse_url("http://localhost/index.php?name=tank&sex=1#top");
print_r($test);
?>
结果如下
Array
(
    [scheme] => http //使用什么协议
    [host] => localhost //主机名
    [path] => /index.php //路径
    [query] => name=tank&sex=1 // 所传的参数
    [fragment] => top //后面根的锚点
)</span></span>

<span style="font-size:18px;"><?php
$url1 = 'http://username:password@hostname/path/fsd?arg=value#anchor';
print_r(parse_url($url1));
?>
输出结果为:
Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path/fsd
    [query] => arg=value
    [fragment] => anchor
)
</span>

3、利用basename: basename() 函数返回路径中的文件名部分

<span style="font-size:18px;"><?php
$test = basename("http://localhost/index.php?name=tank&sex=1#top");
echo $test;
?>
结果如下
index.php?name=tank&sex=1#top</span>

4、url编码:

urlencode

urlencode — 编码 URL 字符串


5、url解码:

urldecode

urldecode — 解码已编码的 URL 字符串


6、parse_str()   把查询字符串解析到变量中

parse_str(string,array)
参数 描述
string 必需。规定要解析的字符串。
array 可选。规定存储变量的数组的名称。该参数指示变量将被存储到数组中。
注释:如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量。
注释:php.ini 文件中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。
语法

parse_str()方法可用于解析parse_url函数生成的 query部分,两个方法相互配合使用!

<?php
parse_str("name=Bill&age=60");
echo $name."<br>";
echo $age;
?>
输出:

Bill

60

<?php
parse_str("name=Bill&age=60",$myArray);
print_r($myArray);
?>

输出: Array ( [name] => Bill [age] => 60 )



你可能感兴趣的:(解析URL的php方法)