栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php如何解析url?解析url的5种方式介绍

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php如何解析url?解析url的5种方式介绍

php解析url的几种方式

1、利用$_SERVER内置数组变量

访问:
http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1

//URL的参数
echo $_SERVER['QUERY_STRING'];
返回:
m=admin&c=index&a=lists&catid=1&page=1
//包含文件名
echo $_SERVER["REQUEST_URI"];

返回:

/test.php?m=admin&c=index&a=lists&catid=1&page=1

2、利用pathinfo内置函数

echo "
";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
var_export(pathinfo($url));

返回:

array (
  'dirname' => 'http://localhost',
  'basename' => 'test.php?m=admin&c=index&a=lists&catid=1&page=1#top',
  'extension' => 'php?m=admin&c=index&a=lists&catid=1&page=1#top',
  'filename' => 'test',
)

3、利用parse_url内置函数

echo "
";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
var_export(parse_url($url));

返回:

array (
  'scheme' => 'http',
  'host' => 'localhost',
  'path' => '/test.php',
  'query' => 'm=admin&c=index&a=lists&catid=1&page=1',
  'fragment' => 'top',
)

4、利用basename内置函数

echo "
";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
var_export(basename($url));

返回:

test.php?m=admin&c=index&a=lists&catid=1&page=1#top

5、正则匹配

echo "
";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
preg_match_all("/(w+=w+)(#w+)?/i",$url,$match);
var_export($match);

返回:

array (
  0 => 
  array (
    0 => 'm=admin',
    1 => 'c=index',
    2 => 'a=lists',
    3 => 'catid=1',
    4 => 'page=1#top',
  ),
  1 => 
  array (
    0 => 'm=admin',
    1 => 'c=index',
    2 => 'a=lists',
    3 => 'catid=1',
    4 => 'page=1',
  ),
  2 => 
  array (
    0 => '',
    1 => '',
    2 => '',
    3 => '',
    4 => '#top',
  ),
)

url常用处理方法

function convertUrlQuery($query)
{
    $queryParts = explode('&', $query);
    $params = array();
    foreach ($queryParts as $param) {
 $item = explode('=', $param);
 $params[$item[0]] = $item[1];
    }
    return $params;
}


function getUrlQuery($array_query)
{
    $tmp = array();
    foreach ($array_query as $k => $param) {
 $tmp[] = $k . '=' . $param;
    }
    $params = implode('&', $tmp);
    return $params;
}

例:

echo "
";
$url = 'http://localhost/test.php?m=admin&c=index&a=lists&catid=1&page=1#top';
$arr = parse_url($url);
$arr_query = convertUrlQuery($arr['query']);
var_export($arr_query);

返回:

array (
  'm' => 'admin',
  'c' => 'index',
  'a' => 'lists',
  'catid' => '1',
  'page' => '1',
)
var_export(getUrlQuery($arr_query));

返回:

m=admin&c=index&a=lists&catid=1&page=1

相关教程推荐:《PHP教程》

以上就是php如何解析url?解析url的5种方式介绍的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/262873.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号