zoukankan      html  css  js  c++  java
  • php解析一个url

    $url = "http://shopnc.localhost/shop/index.php?act=goods&op=index&goods_id=25220";
    $s = parse_url($url);
    var_dump($s);
    
    $t = parse_str($s['query'],$arr);
    var_dump($arr);
    array
      'scheme' => string 'http' (length=4)
      'host' => string 'shopnc.localhost' (length=16)
      'path' => string '/shop/index.php' (length=15)
      'query' => string 'act=goods&op=index&goods_id=25220' (length=33)
    array
      'act' => string 'goods' (length=5)
      'op' => string 'index' (length=5)
      'goods_id' => string '25220' (length=5)

    这种类型解析的很好,但是下面情况就不行了

    $url ="http://ci.localhost/index.php/home/adminlogin";
    //$url = "http://shopnc.localhost/shop/index.php?act=goods&op=index&goods_id=25220";
    $s = parse_url($url);
    var_dump($s);
    
    $t = parse_str($s['query'],$arr);
    var_dump($arr);

    $url ="http://ci.localhost/index.php/home/adminlogin";
    //$url = "http://shopnc.localhost/shop/index.php?act=goods&op=index&goods_id=25220";
    $s = parse_url($url);
    var_dump($s);
    
    $t = parse_str($s['query'],$arr);
    var_dump($arr);
    
    var_dump(pathinfo($url)); //不行
    
    var_dump(basename($url));
    
    
    var_dump(dirname($url));
    //这种模式类型都不行,所以换个思路
    
    $mm = $s['path'];
    $g = explode("/",$mm);
    var_dump($g);
    //unset($g['0']);
    //var_dump($g);
    list($b,$n,$acttion,$function) = $g;
    echo '<br>';
    echo $n;
    echo '<br>';
    echo $acttion;
    echo '<br>';
    echo $function;

    结果:

  • 相关阅读:
    hadoop2.2编程:MRUnit测试
    TestLinkConverter编程纪要
    Redisson的分布式锁的简单实现
    Jmeter工具使用
    JVM的学习(三)
    Mybatis需要注意的地方及知识点
    JVM学习二(JAVA的四种引用)
    mysql的引擎
    JVM学习一(JVM的内存结构和垃圾回收)
    JDk1.8HashMap的源码分析
  • 原文地址:https://www.cnblogs.com/zx-admin/p/4682930.html
Copyright © 2011-2022 走看看