php中url字符串的一些解析函数

来源:互联网 发布:账号登录数据异常洛奇 编辑:程序博客网 时间:2024/05/05 11:39

对于url字符串的处理方法:

dirname(string path):给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。 斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。
dirname(http://www.sina.com.cn/abc/de/fg.php?id=1)//返回http://www.sina.com.cn/abc/de/

string basename ( string path [, string suffix] ):本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉.
basename("http://www.sina.com.cn/abc/de/fg.php?id=1");//返回fg.php?id=1
basename("http://www.sina.com.cn/abc/de/fg.php?id=1",'?id=1');//返回fg.php

array pathinfo ( string path [, int options] ): 返回文件路径的信息,包括以下的数组单元:dirname,basename 和 extension.可以通过参数 options 指定要返回哪些单元。它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION。默认是返回全部的单元。
pathinfo("http://www.sina.com.cn/abc/de/fg.php?id=1");
//返回如下信息
[dirname] => http://www.sina.com.cn/abc/de
[basename] => fg.php?id=1
[extension] => php?id=1
[filename] => fg

string realpath ( string path ):返回规范化的绝对路径名,用于传入相对路径,返回没有../ 和./ 以及多余的/的绝对路径,失败时返回FALSE,比如说文件不存在的话

array parse_url ( string url ):解析 URL,返回其组成部分
parse_url("http://www.sina.com.cn/abc/de/fg.php?id=1");
//返回如下信息
[scheme] => http
[host] => www.sina.com.cn
[path] => /abc/de/fg.php
[query] => id=1

void parse_str ( string str [, array &arr] ):主要用于得到url中参数与对应值的键值对,如果第二个参数存在,解析的字符串作为元素存放在这个变量中
$str ="first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str
);
echo
$first;  
// value
echo $arr[0];
// foo bar
echo $arr[1];
// baz

parse_str($str,$output
);
echo
$output['first'];  
// value
echo $output['arr'][0];
// foo bar
echo $output['arr'][1];
// baz