麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > PHP > 正文

php解析url并得到url中的參數(shù)及獲取url參數(shù)的四種方式

2024-05-04 23:39:48
字體:
來源:轉載
供稿:網(wǎng)友

本文給大家介紹php解析url并得到url中的參數(shù)及獲取url參數(shù)的四種方式,涉及到將字符串參數(shù)變?yōu)閿?shù)組,將參數(shù)變?yōu)樽址南嚓P知識,本文代碼簡單易懂,感興趣的朋友一起看看吧

下面一段代碼是php解析url并得到url中的參數(shù),代碼如下所示:

 

 
  1. <?php 
  2. $url = 'http://www.baidu.com/index.php?m=content&c=index&a=lists&catid=6&area=0&author=0&h=0®ion=0&s=1&page=1'
  3. $arr = parse_url($url); 
  4. var_dump($arr); 
  5. $arr_query = convertUrlQuery($arr['query']); 
  6. var_dump($arr_query); 
  7. var_dump(getUrlQuery($arr_query)); 
  8. /** 
  9. * 將字符串參數(shù)變?yōu)閿?shù)組 
  10. * @param $query 
  11. * @return array array (size=10) 
  12. 'm' => string 'content' (length=7) 
  13. 'c' => string 'index' (length=5) 
  14. 'a' => string 'lists' (length=5) 
  15. 'catid' => string '6' (length=1) 
  16. 'area' => string '0' (length=1) 
  17. 'author' => string '0' (length=1) 
  18. 'h' => string '0' (length=1) 
  19. 'region' => string '0' (length=1) 
  20. 's' => string '1' (length=1) 
  21. 'page' => string '1' (length=1) 
  22. */ 
  23. function convertUrlQuery($query) 
  24. $queryParts = explode('&', $query); 
  25. $params = array(); 
  26. foreach ($queryParts as $param) { 
  27. $item = explode('=', $param); 
  28. $params[$item[0]] = $item[1]; 
  29. return $params; 
  30. /** 
  31. * 將參數(shù)變?yōu)樽址?/span> 
  32. * @param $array_query 
  33. * @return string string 'm=content&c=index&a=lists&catid=6&area=0&author=0&h=0®ion=0&s=1&page=1' (length=73) 
  34. */ 
  35. function getUrlQuery($array_query) 
  36. $tmp = array(); 
  37. foreach($array_query as $k=>$param) 
  38. $tmp[] = $k.'='.$param; 
  39. $params = implode('&',$tmp); 
  40. return $params; 

下面通過四種實例給大家介紹php url 參數(shù)獲取方式。

在已知URL參數(shù)的情況下,我們可以根據(jù)自身情況采用$_GET來獲取相應的參數(shù)信息($_GET['name']);那,在未知情況下如何獲取到URL上的參數(shù)信息呢?

第一種、利用$_SERVER內置數(shù)組變量

相對較為原始的$_SERVER['QUERY_STRING']來獲取,URL的參數(shù),通常使用這個變量返回的會是類似這樣的數(shù)據(jù):name=tank&sex=1

如果需要包含文件名的話可以使用$_SERVER["REQUEST_URI"](返回類似:/index.php?name=tank&sex=1)

第二種、利用pathinfo內置函數(shù)

代碼如下:

 

 
  1. <?php 
  2. $test = pathinfo("http://localhost/index.php"); 
  3. print_r($test); 
  4. /* 

結果如下

 

 
  1. Array 
  2. [dirname] => http://localhost //url的路徑 
  3. [basename] => index.php //完整文件名 
  4. [extension] => php //文件名后綴 
  5. [filename] => index //文件名 
  6. */ 
  7. ?> 

第三種、利用parse_url內置函數(shù)

代碼如下:

 

 
  1. <?php 
  2. $test = parse_url("http://localhost/index.php?name=tank&sex=1#top"); 
  3. print_r($test); 
  4. /* 

結果如下

 

 
  1. Array 
  2. [scheme] => http //使用什么協(xié)議 
  3. [host] => localhost //主機名 
  4. [path] => /index.php //路徑 
  5. [query] => name=tank&sex=1 // 所傳的參數(shù) 
  6. [fragment] => top //后面根的錨點 
  7. */ 
  8. ?> 

第四種、利用basename內置函數(shù)

代碼如下:

 

 
  1. <?php 
  2. $test = basename("http://localhost/index.php?name=tank&sex=1#top"); 
  3. echo $test; 
  4. /* 

結果如下

 

 
  1. index.php?name=tank&sex=1#top 
  2. */ 
  3. ?> 

另外,還有就是自己通過正則匹配的處理方式來獲取需要的值了。這種方式較為精確,效率暫不考慮。。。

下面拓展實踐下正則處理方式:

代碼如下:

 

  1. <?php 
  2. preg_match_all("/(/w+=/w+)(#/w+)?/i","http://localhost/index.php?name=tank&sex=1#top",$match); 
  3. print_r($match); 
  4. /* 

結果如下

 

 
  1. Array 
  2. [0] => Array 
  3. [0] => name=tank 
  4. [1] => sex=1#top 
  5. [1] => Array 
  6. [0] => name=tank 
  7. [1] => sex=1 
  8. [2] => Array 
  9. [0] => 
  10. [1] => #top 
  11. */ 
  12. ?> 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲网站在线 | 国产精品一区在线看 | 97香蕉超级碰碰久久免费软件 | 色蜜桃av | 亚洲乱码精品久久久久 | 国产精品久久久久久久四虎电影 | 黄色免费在线网址 | 国产成人自拍av | 91在线视频播放 | 2021狠狠操| 一区二区三区小视频 | 国产精品1区,2区,3区 | 久久精品一二三区 | 久久久一区二区三区精品 | a一级黄 | 毛片电影在线看 | 久久草在线视频免费 | 国产精品视频二区不卡 | 国内精品伊人久久 | 国产超碰人人爽人人做人人爱 | 在线观看免费av网 | 深夜免费福利视频 | 国产精品久久久久久久久久久久午夜 | 日本免费aaa观看 | 国产成人自拍小视频 | 国产88久久久国产精品免费二区 | 国产91一区| 91麻豆精品国产91久久久更新资源速度超快 | 中文字幕激情视频 | 欧美国产一级片 | 免费久久精品 | 康妮卡特欧美精品一区 | 免费在线观看毛片视频 | 视频一区二区三区免费观看 | 精品中文字幕久久久久四十五十骆 | 国产精品一区2区3区 | 国产va在线观看免费 | 午夜亚洲影院 | 人人舔人人舔 | 黄色成人短视频 | 国产成人精品区一区二区不卡 |