-2

PHP で GET の値を変更したいと考えています。

たとえば、これを変更したい:

mypage.com/?lang=fr&page=home&...

これに:

mypage.com/?lang=en&page=home&...

str_replace私はandでそれを作ることができましたsubstrが、私はそれほど愚かな方法を探していません.

を使用したいと思います$_SERVER['QUERY_STRING']

ありがとう。

4

2 に答える 2

8

スーパーグローバルの値を変更してから$_GET、URL を再作成できます。

$root_url = "example.com";

// redefine $_GET['lang']
$_GET['lang'] = "en";

// build the new URL    
$new_url = $root_url . "?" . http_build_query($_GET);

// redirect
header("Location: {$new_url}");

コードパッドはこちら

于 2013-09-13T22:15:39.813 に答える
0
$parse_url = parse_url($url);
$queryString = explode('&',$parse_url['query']);
print_r($parse_url);
foreach ($queryString as $queryStringKey => $queryStringValue) {
    $node = explode('=',$queryStringValue);
    $key = reset($node);
    $val = end($node);
    if($key == 'lang'){
        $queryString[$queryStringKey] = $key . '=' . 'fr';
    }   
}
$queryString = implode('&', $queryString);
echo $parse_url['host'] . $parse_url['path'] . '?' .   $queryString;
于 2013-09-13T22:30:07.150 に答える