PHP 四种URL分析处理方式的例子

在已知URL参数的情况下,我们可以根据自身情况采用\(_GET来获取相应的参数信息(\)_GET[///‘name///’]);那在未知情况下如何获取到URL上的参数信息呢?
 
  第一种:利用\(_SERVER内置数组变量<br/>  <br/>   相对较为原始的\)_SERVER[‘QUERY_STRING’]来获取,URL的参数,通常使用这个变量返回的会是类似这样的数据:name=tank&sex=1
 
  如果需要包含文件名的话可以使用\(_SERVER[&#34;REQUEST_URI&#34;](返回类似:/index.php?name=tank&amp;sex=1)<br/>  <br/>   第二种:利用pathinfo内置函数<br/>  <br/>   <!--?php<br/-->    \)test = pathinfo(“http://localhost/index.php&#34;);
   print_r(\(test);<br/>    /*<br/>    结果如下<br/>    Array<br/>    (<br/>        [dirname] =&gt; http://localhost //url的路径<br/>        [basename] =&gt; index.php  //完整文件名<br/>        [extension] =&gt; php  //文件名后缀<br/>        [filename] =&gt; index //文件名<br/>    )<br/>    */<br/>    ?&gt;<br/>   第三种:利用parse_url内置函数<br/>  <br/>   <!--?php<br/-->   \)test = parse_url(”http://localhost/index.php?name=tank&amp;sex=1#top&#34;);
  print_r(\(test);<br/>   /*<br/>   结果如下<br/>   Array<br/>   (<br/>       [scheme] =&gt; http //使用什么协议<br/>       [host] =&gt; localhost //主机名<br/>       [path] =&gt; /index.php //路径<br/>       [query] =&gt; name=tank&amp;sex=1 // 所传的参数<br/>       [fragment] =&gt; top //后面根的锚点<br/>   )<br/>   */<br/>   ?&gt;<br/>   第四种:利用basename内置函数<br/>  <br/>   <!--?php<br/-->   \)test = basename(“http://localhost/index.php?name=tank&amp;sex=1#top&#34;);
  echo \(test;<br/>   /*<br/>   结果如下<br/>   index.php?name=tank&amp;sex=1#top<br/>   */<br/>   ?&gt;<br/>   另外,还有就是自己通过正则匹配的处理方式来获取需要的值了,这种方式较为精确,效率暂不考虑,下面拓展实践下正则处理方式:<br/>  <br/>   <!--?php<br/-->   preg_match_all(&#34;/(/w+=/w+)(#/w+)?/i&#34;,&#34;http://localhost/index.php?name=tank&amp;sex=1#top&#34;,\)match);
  print_r($match);
  /
  结果如下
  Array
  (
      [0] =&gt; Array
          (
              [0] =&gt; name=tank
              [1] =&gt; sex=1#top
          )
      [1] =&gt; Array
          (
              [0] =&gt; name=tank
              [1] =&gt; sex=1
          )
      [2] =&gt; Array
          (
              [0] =&gt;
              [1] =&gt; #top
          )
  )
  
/
  ?&gt;
 

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!