2012-02-16 107 views
1

我有以下網址更換網址變量值

/index.php?option=com_zoo&task=item&item_id=292&Itemid=283 

我想要做的一個變量來代替item_id的價值是什麼。我一直在檢查幾個php函數,如splitparse_str,但我不知道如何讓它起作用。

+0

是這樣的您爲鏈接創建的網址?或者你是否在index.php中,並嘗試使用item_id中的傳遞值? – Matt 2012-02-16 16:14:34

+0

此URL是字符串還是當前URL(在地址欄中)? – 2012-02-16 16:14:52

+0

這一個是當前的網址 – lgt 2012-02-16 16:16:29

回答

4
$url = '/index.php?option=com_zoo&task=item&item_id=292&Itemid=283'; 

$query = explode('?', $url); // Split the URL on `?` to get the query string 
parse_str($query[1], $data); // Parse the query string into an array 

echo $data['item_id']; // 292 

$newValue = 300; 
$data['item_id'] = $newValue; // Replace item_id's value 

$url = $query[0].'?'.http_build_query($data); // rebuild URL 

echo $url; // '/index.php?option=com_zoo&task=item&item_id=300&Itemid=283"; 
+0

哇,多數民衆贊成它,這是我想要的。謝謝 – lgt 2012-02-16 16:26:57

+0

很高興我能幫忙:-) – 2012-02-16 16:28:59

0

試試str_replace函數。如果你已經存儲在變量$url和變量您的網址要替換ITEMID存儲在$ItemID

$url = str_replace("Itemid", $ItemID, $url); 
+0

我想他想替換'292'('item_id'的值)。 – 2012-02-16 16:22:58

+0

這並不代替價值,而是項目本身。 – PeeHaa 2012-02-16 16:23:31

+0

是的,其實我想替換價值,火箭的解決方法似乎是完美的。 – lgt 2012-02-16 16:28:08

0

* 這是做*的確切方式

<?php 
    $url = '/index.php?option=com_zoo&task=item&item_id=292&Itemid=283'; 
    $explodeData =parse_url($url); 
    $dataReplace = str_replace('item_id','replacedvariable',$explodeData['query'],$count); 
    $changedUrl = $explodeData['path']."?".$dataReplace; 
    echo $changedUrl; 
    ?>