Sanitze URLs

Remove all characters except letters, digits and $-_.+!*’(),{}|\^~[]`<>#%”;/?:@&=

var_dump(filter_var('<http://www.example.com/path/to/dir/index.php?test=y>', FILTER_SANITIZE_URL));
var_dump(filter_var("<http://www.example.com/path/to/dir/index.php?test=y!#$%&>'*+-=?^_`{|}~.[]", FILTER_SANITIZE_URL));
var_dump(filter_var('<http://www.example.com/path/to/dir/index.php?test=a> b c', FILTER_SANITIZE_URL));

Results:

string(51) "<http://www.example.com/path/to/dir/index.php?test=y>"
string(72) "<http://www.example.com/path/to/dir/index.php?test=y!#$%&>'*+-=?^_`{|}~.[]"
string(53) "<http://www.example.com/path/to/dir/index.php?test=abc>"