PHP解析URL并得到URL中的参数

<?php

//例举一个URL格式的字符串:
$str = 'http://test.com/testdir/index.php?param1=10&param2=20&param3=30&param4=40&param5=50&param6=60';

//1 用parse_url解析URL,此处是$str
$arr = parse_url($str);
var_dump($arr);

//2 将URL中的参数取出来放到数组里
$arr_query = convertUrlQuery($arr['query']);
var_dump($arr_query);

//3 将 参数数组 再变回 字符串形式的参数格式
var_dump(getUrlQuery($arr_query));

/**
  * Returns the url query as associative array
  * @param     string     query
  * @return     array     params
  */
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;
}
?>

输出结果:

array (size=4)
  'scheme' => string 'http' (length=4)
  'host' => string 'test.com' (length=8)
  'path' => string '/testdir/index.php' (length=18)
  'query' => string 'param1=10&param2=20&param3=30&param4=40&param5=50&param6=60' (length=59)

array (size=6)
  'param1' => string '10' (length=2)
  'param2' => string '20' (length=2)
  'param3' => string '30' (length=2)
  'param4' => string '40' (length=2)
  'param5' => string '50' (length=2)
  'param6' => string '60' (length=2)

string 'param1=10&param2=20&param3=30&param4=40&param5=50&param6=60' (length=59)

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, url
, array
, length
, param
size
,以便于您获取更多的相关知识。

时间: 2024-09-19 20:40:00

PHP解析URL并得到URL中的参数的相关文章

javascript提取URL的搜索字符串中的参数(自定义函数实现)_javascript技巧

今天在犀牛书上发现了一个有用的函数 urlArgs(提取URL的搜索字符串中的参数).我们经常会看到有的页面链接地址后面会跟有参数,比如 http://www.xxx.com/?username=yyy&password=zzz 之类的,很多时候我们需要获得这些参数的值(yyy和zzz),那么就可以利用 urlArgs 函数,通过该函数的返回值(返回值是对象)的属性来获取. urlArgs 函数代码: 复制代码 代码如下: function urlArgs(){ var args = {}; v

php解析url并得到url中的参数及获取url参数的四种方式_php实例

下面一段代码是php解析url并得到url中的参数,代码如下所示: <?php $url = 'http://www.baidu.com/index.php?m=content&c=index&a=lists&catid=6&area=0&author=0&h=0&region=0&s=1&page=1'; $arr = parse_url($url); var_dump($arr); $arr_query = convertU

spring-如何解析如下格式的URL

问题描述 如何解析如下格式的URL 现有URL如下: http://localhost:8080/sheetTest/base/updateData.do?sheet=7&edit=true&rows[0]=2&cols[0]=4&values[0]=11&styles[0]=bold%3Afalse%3Bitalic%3Afalse%3Bcolor%3A000000%3Bbgcolor%3Affffff%3Balign%3Aleft 请问如何在Action中获取参

Jsp页面URL中传递参数乱码的方法

  Jsp页面在URL中传递参数会出现乱码 解决方法如下: 一.使用更改Tomcat的方法.这个方法简单,但是需要改动的地方是服务器软件级别的,如果稍微变动系统将无法正确转码,移植性不高. 1.来到tomcat目录,找到conf目录下的server.xml问价,打开,找到标签,在最后添加URIEncoding='GBK',效果如下: view plaincopy to clipboardprint? port="8080"maxThreads="150"minSpa

JS获取URL中的参数数据

 这篇文章主要介绍了JS获取URL中的参数数据,有需要的朋友可以参考一下   代码如下: function getParam(paramName) {     paramValue = "";     isFound = false;     if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {      

JS使用ajax方法获取指定url的head信息中指定字段值的方法

 这篇文章主要介绍了JS使用ajax方法获取指定url的head信息中指定字段值的方法,实例分析了Ajax操作URL中head信息的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS使用ajax方法获取指定url的head信息中指定字段值的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码用来获取ajax_info.txt的head信息中的Last modified属性,最后修改时间 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1

js获取url中的参数且参数为中文时通过js解码

 这篇文章主要介绍了url中传递中文参数的时候通过js解码,需要的朋友可以参考下 如果传递的参数是:   代码如下: <a href="${pageContext.request.contextPath}/productdisplay/productDisplay_productDisplayUI.action?pkId=${pkId}&name=${name}" style="color:white; margin-top:10px; margin-botto

cache-如何通过 URL 查找出 Squid中对应的缓存对象位置

问题描述 如何通过 URL 查找出 Squid中对应的缓存对象位置 我的环境:OS centos5.6 , squid 3.0 我想把用户通过 squid访问的所有的 HTML页面 缓存下来,并将过期时间设置的 尽可能的长,然后再 根据需求对页面进行语意分析(htmlparser), 想求教大家的是 如何 通过 已知的URL来查找 cache_dir 中对应的 cache object. 每个 cache object 都是32位正整数命名, 我不知道 url(来自 access.log)如何

javascript-js获取url中的参数乱码

问题描述 js获取url中的参数乱码 我的url为:test.jsp?lastname=杨涛 js是这么写的 window.onload=function(){ alert(GetQueryString("lastname")); } function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i&q