<?

function encodeMyUrl($str) {
    
    
$return_val str_replace("%26""<AND>"$str);
    
$return_val str_replace("%3D""<EQUALS>"$return_val);
    return 
$return_val;

}

function 
decodeGet() {

    while (list(
$key,$value) = each($_GET)) {
        
$value is_array($value) ? array_map('stripslashes'$value) : stripslashes($value);
        
$value str_replace("<AND>""&"$value);
        
$_GET[$key] = str_replace("<EQUALS>""="$value);
    }

}


?>
<pre>
<?
decodeGet
();
var_dump($_GET);
?>
</pre>

<?
$querystr 
"?debug1=testing%26encoded%3Dquerystrings&debug2=done";
$querystr encodeMyUrl($querystr); 
?>
<a href="<?= $_SERVER['PHP_SELF'?><?= $querystr ?>">Test Link</a>