我们在使用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内容