PHP で GET の値を変更したいと考えています。
たとえば、これを変更したい:
mypage.com/?lang=fr&page=home&...
これに:
mypage.com/?lang=en&page=home&...
str_replace
私はandでそれを作ることができましたsubstr
が、私はそれほど愚かな方法を探していません.
を使用したいと思います$_SERVER['QUERY_STRING']
。
ありがとう。
スーパーグローバルの値を変更してから$_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}");
コードパッドはこちら
$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;