заменить значение переменной URL - PullRequest
1 голос
/ 16 февраля 2012

У меня следующий URL

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

Что я хочу сделать, чтобы заменить значение item_id на переменную.Я проверял несколько php-функций, таких как split и parse_str, но я не знаю, как заставить его работать.

Ответы [ 3 ]

4 голосов
/ 16 февраля 2012
$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 голосов
/ 16 февраля 2012

* это точный способ сделать это *

 <?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;
    ?>
0 голосов
/ 16 февраля 2012

Попробуйте функцию str_replace. Если ваш URL хранится в переменной $url, а переменная, которую вы хотите заменить Itemid, хранится в $ItemID:

$url = str_replace("Itemid", $ItemID, $url);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...