drupal7中的处理URL的三个函数

  

我们在使用drupal7中经常使用url中的目的地参数做重定性处理,drupal7中也有专门换取url上目的地参数的函数,介绍如下:

drupal_get_destination();//这个函数可以获取url中的目的地参数,当没有目的地参数,函数会将当前url作为参数返回。

drupal_http_build_query(查询数组$,$父母=& # 39;& # 39;);

drupal_get_query_parameters(数组$查询=NULL,数组$排除=数组(& # 39;提问# 39;),$父母=& # 39;& # 39;);//默认去掉$ _GET[& # 39;提问# 39;]部分

下面是API中代码:

function  drupal_get_destination () {   ,,,destination 美元;=,,,drupal_static (__FUNCTION__);   如果,收取(,destination 美元),){   ,,,return 美元目的地;   }   如果,收取(,$ _GET [& # 39; destionation& # 39;],),) {   ,,,destionation 美元;=,阵列(   ,,,& # 39;destionation& # 39;,=祝辞,$ _GET[& # 39;目的地# 39;],   );   其他}{   ,,,path 美元;=,$ _GET[& # 39;提问# 39;];   $ query =, drupal_http_build_query (, drupal_get_query_parameters (),);   如果,query 美元;!=,& # 39;& # 39;,){   ,,,path 美元。=,& # 39;? & # 39;美元查询;   }   $ destination =,阵列(   ,,,& # 39;目的地# 39;,=祝辞,美元的路径,   );   }   return  $目的地;   }
 function  drupal_get_query_parameters (, array 查询美元=NULL, array  exclude 美元;=,数组(& # 39;提问# 39;),parent 美元;=,& # 39;& # 39;,){
  ,,,//set 默认情况下,if  not 鉴于
  如果,!收取(,query 美元),){
  ,,,query 美元;=,$ _GET;
  }
  ,,,//,if  exclude  is 空,,there  is  nothing 用过滤器
  如果,空(,exclude 美元),){
  ,,,return  $查询;
  }
  elseif (, ! parent 美元){
  ,,,exclude 美元;=,array_flip (, exclude 美元;);
  }
  数组$ params =, ();
  foreach (, $ query  as  key 美元;=祝辞,value 美元;){
  ,,,string_key 美元;=,parent 美元;?,parent 美元;只& # 39;[& # 39;,key 美元;强生# 39;]& # 39;,:,美元的关键;
  如果,收取(,排除[$ string_key]美元),){
  ,,,,,,,,,,,继续;
  }
  如果,is_array (, value 美元),){
  ,,,params [$ key],美元=,drupal_get_query_parameters(排除美元,美元的价值,美元string_key );
  其他}{
  ,,,params [$ key],美元=,美元价值;
  }
  }
  美元return 参数;
  }

以上内容仅供参考,详细内容请参考drupal7官方网站api内容

drupal7中的处理URL的三个函数