PHPでクエリ文字列を含まないURLを取得する方法


方法1: parse_urlとhttp_build_queryを使用する方法

$url = 'http://www.example.com/path/page.php?param1=value1&param2=value2';
$parsed_url = parse_url($url);
$query_params = [];
if (isset($parsed_url['query'])) {
    parse_str($parsed_url['query'], $query_params);
}
$url_without_query = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $parsed_url['path'];
echo $url_without_query;

方法2: strposとsubstrを使用する方法

$url = 'http://www.example.com/path/page.php?param1=value1&param2=value2';
$query_start = strpos($url, '?');
if ($query_start !== false) {
    $url_without_query = substr($url, 0, $query_start);
} else {
    $url_without_query = $url;
}
echo $url_without_query;

方法3: preg_replaceを使用する方法

$url = 'http://www.example.com/path/page.php?param1=value1&param2=value2';
$url_without_query = preg_replace('/\?.*/', '', $url);
echo $url_without_query;

これらの方法を使用すると、クエリ文字列を含まないURLを取得することができます。必要に応じて、適切な方法を選択してください。