如何添加一点到URL而不是复制和粘贴它?

时间:2010-07-20 20:26:23

标签: php html

好的,我让我们说这页http://mypage.com/index.php?id=something。我希望在此页面中显示指向http://mypage.com/index.php?id=something&sub=1的链接。要做到这一点,我必须像我这样添加a href到我的index.php文件中 echo '<a href="index.php?id=something&sub=1">go here</a>';。是否有可能做得更短?我是说只是以某种方式添加sub=1?感谢。

6 个答案:

答案 0 :(得分:1)

在PHP中,您可以执行以下操作:

echo '<a href="' . $_SERVER['REQUEST_URI'] . '&sub=1">go here</a>'

在JavaScript中,你可以这样做:

location.search += "&sub=1";

但这并不是一个需要JavaScript的理由。

答案 1 :(得分:1)

在php中你可以得到:

$_SERVER['REQUEST_URI'];

这应该会为您提供所请求的网址,但如果在没有查询字符串的情况下调用网页,则添加&sub=1会有风险,因为这会导致:

index.php&sub=1

答案 2 :(得分:0)

试试这个:

$ _ SERVER [PHP_SELF] +“&amp; sub = 1”;

答案 3 :(得分:0)

使用PHP,您可以使用$_SERVER['REQUEST_URI']获取网页的网址。然后,您可以像修改任何其他字符串一样修改它。

请参阅PHP手册中的Predefined variables

答案 4 :(得分:0)

您可以执行以下操作:

echo '<a href="' . $_SERVER['REQUEST_URI'] . ($_SERVER['QUERY_STRING'] == '' ? '?' : '&') . 'sub=1">go here</a>';

但是迟早你将不得不面对可能“添加”已经在查询字符串中的参数的问题。所以我建议编写一个函数/方法来处理向URL添加/删除查询参数。

答案 5 :(得分:0)

有一个名为http_build_url的PHP命令专门针对您的用例类型。

这就是你如何将它用于你的例子:

http_build_url($url_string,
    array(
        "query" => "sub=1"
    ),
    HTTP_URL_JOIN_QUERY
);