简而言之,您只需解析URL,然后在最后添加参数,或者如果参数已经存在,则将其替换。
$parts = parse_url($url) + array('query' => array());
parse_str($parts['query'], $query);
$query['page'] = $page;
$parts['query'] = http_build_str($query);
$newUrl = http_build_url($parts);
此示例代码需要用于和的PHP HTTP模块。后者可以替换为第一个,如果没有安装模块,则可以使用PHP用户空间实现。http_build_url
http_build_str
http_build_query
另一种选择是使用Net_URL2
提供了各种URL操作接口的软件包:
$op = new Net_URL2($url);
$op->setQueryVariable('page', $page);
$newUrl = (string) $op;
它更加灵活和富有表现力。