PHP 4この場合、URLから特定の変数を取り除く方法 "?lang = en"
/filename.php?lang=en
$url = '/filename.php?lang=en&test=1'; // the main link
$str = parse_url($url); // parse_url
parse_str($str['query'], $arr); // parse_str on 'query'
unset($arr['lang']); // unset 'lang'
$newQuery = http_build_query($arr); // rebuild query
$link = substr($url, 0, strpos($url, '?')).'?'.$newQuery; // remake link
echo $link; // /filename.php?test=1
これは簡単に関数にまとめることができます:
function removeParameter($link, $remove){
$str = parse_url($link); // parse_url on $link
parse_str($str['query'], $arr); // parse_str on 'query'
unset($arr[$remove]); // unset $remove
$newQuery = http_build_query($arr); // rebuild query
$link = substr($link, 0, strpos($link, '?')).'?'.$newQuery; // remake link
return $link;
}
echo removeParameter('/filename.php?lang=en&test=1', 'lang'); // /filename.php?test=1
echo removeParameter('http://www.example.com/filename.php?lang=en&test=1&me=do', 'test'); // http://www.example.com/filename.php?lang=en&me=do
あなたはスーパーグローバル$_GETを探しています:
echo $_GET['lang']; // will put 'en' on the screen
正規表現を使用してpreg_match('/^([^?]+)/', '/filename.php?lang=en')
、疑問符まですべてを一致させることができます。