Как получить параметр из URL, разделенного двоеточием (:) - PullRequest
0 голосов
/ 01 октября 2019

У меня есть этот URL: "http://example.com/search/dep_city:LON/arr_city=NYC". Как я могу получить значения" LON "и" NYC "из этого URL в PHP? Это было бы легко, если бы URL был в формате" dep_city = LON "используя "$ _GET ['dep_city']", но в этом случае я запутался, как это сделать. Заранее спасибо за ваше время и помощь.

1 Ответ

0 голосов
/ 01 октября 2019

Получить URL с сервера, разбить его на части. Проверьте индекс: или = для каждой части, разберите его в массив.

<?php
$url = substr( $_SERVER["REQUEST_URI"], 1, strlen($_SERVER["REQUEST_URI"]));
$vars = explode("/", $url);

foreach($vars as $var){

    $indexEquals = strpos($var, "=");

    if($indexEquals === false){
        $indexColon = strpos($var, ":");
        $part1 = substr($var, 0, $indexColon);
        $part2 = substr($var, $indexColon+1, strlen($var));
    }else{
        $part1 = substr($var, 0, $indexEquals);
        $part2 = substr($var, $indexEquals+1, strlen($var));
    }

    $params[$part1] = $part2;
}

echo json_encode($params);
die();
...