簡體   English   中英

如何在URL中添加一些內容而不是全部復制並粘貼?

[英]How to add a little to URL instead of copying and pasting it all?

好的,所以我說這個頁面http://mypage.com/index.php?id=something 我想在此頁面中找到指向http://mypage.com/index.php?id=something&sub=1的鏈接。 為此,我必須像這樣在我的index.php文件中添加a href
echo '<a href="index.php?id=something&sub=1">go here</a>'; 可以把這個事情做的更短嗎? 我的意思是只是以某種方式添加sub=1 謝謝。

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

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

在JavaScript中,您可以執行以下操作:

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

但這並不是需要JavaScript的充分理由。

在php中,您可以獲得:

$_SERVER['REQUEST_URI'];

這應該為您提供所需的URL,但是如果在沒有查詢字符串的情況下調用該頁面,則添加&sub=1是有風險的,因為這將導致:

index.php&sub=1

試試這個:

$ _SERVER [PHP_SELF] +“&sub = 1”;

使用PHP,可以使用$_SERVER['REQUEST_URI']獲取頁面的URL。 然后,您可以像修改其他任何字符串一樣修改它。

請參見PHP手冊中的預定義變量

您可以執行以下操作:

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

但是遲早您將不得不面對可能“添加”查詢字符串中已經存在的參數的問題。 因此,我建議編寫一種函數/方法來處理向URL添加/刪除查詢參數的操作。

有一個名為http_build_url PHP命令,專門用於您的用例類型。

這是您將其用於示例的方式:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM