页面中新链接中的当前 URL 参数

Posted

技术标签:

【中文标题】页面中新链接中的当前 URL 参数【英文标题】:Current URL parameter in a new link in the page 【发布时间】:2016-04-23 17:22:30 【问题描述】:

我正在为我的博士研究创建一个网站。 我有同一个网页的多个版本(不同颜色、不同长度……),每个版本都有url参数。

我想在每个页面的底部创建一个链接,该链接会重定向到问卷调查网站,但会自动检索其所在页面的网址参数

示例

当前网址是:

http://abcmessage.com/abc?message=1&color=blue&lenght=small

您点击链接,它会将您带到问卷网站,并保留参数:

http://questionnaire.com/abc?message=1&color=blue&lenght=small

我应该在我的重定向链接旁边放什么来做到这一点?

我在下面找到了,但它并没有真正起作用:

 $text = '?';
$c = 0;
foreach($_GET as $k => $v)
    $text .= ($c>0) ? "&$k=$v" : "$k=$v";
    $c++;

$text = ($text=='?') ? "" : $text;

echo $text;

我不得不承认我对php 和Java了解不多,但是我正在自己工作并且必须完成工作,所以我会学习。所以非常感谢任何能提供帮助的人:)

干杯!

昏暗

【问题讨论】:

JAVA 不是 javascript 【参考方案1】:

试试location.seach:

<a href="#"
onclick="this.href='http://questionnaire.com/abc'+window.location.search">Questionnaire</a>

【讨论】:

这就像一个魅力。非常感谢@mplungjan!【参考方案2】:

您可以使用http_build_query()

可以这样做:

all_requests = $_GET;

$build_query_http = http_build_query($all_requests);

echo "http://questionnaire.com/abc?" . $build_query_http;

或者您甚至可以在传递之前删除所有空请求:

foreach ($all_requests as $key => $var_val) 
  if(empty($var_val) || $var_val=='')
  
    unset($all_requests[$key]);
  

值得关注maximum length of a query string。

【讨论】:

我尝试了该解决方案,但不知道如何正确实现该代码。无论如何感谢您的帮助。

以上是关于页面中新链接中的当前 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章

转发 URL 参数的链接

js处理url中的请求参数(编码/解码)

获取当前页面URL信息

js获取url参数 如何改变当前页面内某个图片的地址?

如何获取当前页面的url地址?

js获取url参数并传递到其他页面