PHP实现对URL字符串中参数的筛选过滤

后端开发PHP

一个实现URL参数过滤的函数,@$url为要处理的URL,@param为要保留的参数,如果要去除所有参数只需要使用$base_url = strtok($url, '?');即可。

function strip_param_from_url( $url, $param ) {
    $base_url = strtok($url, '?');              // Get the base url
    $parsed_url = parse_url($url);              // Parse it 
    $query = $parsed_url['query'];              // Get the query string
    parse_str( $query, $parameters );           // Convert Parameters into array
    unset( $parameters[$param] );               // Delete the one you want
    $new_query = http_build_query($parameters); // Rebuilt query string
    return $base_url.'?'.$new_query;            // Finally url is ready
}
// Usage
echo strip_param_from_url( 'http://towait.com/search/?location=london&page_number=1', 
    'location' );

Post Comment