okay so I've changed to the following, but I don't understand why dropping a ' # ' or a ' % ' into one of the $_GETs still breaks stuff. Isn't zen checking for this?

PHP Code:
if(isset($_GET)){
    
$cleanJpManus =  array();
    foreach(
$_GET as $key => $value){
        if(
preg_match('/^jparam_manu/i'$key)){
        
$clean preg_replace('/[^0-9_]/'''$value);
            
$cleanJpManus[] = $clean;
        }
        
    }
    if(
sizeof($cleanJpManus) == 0){unset($cleanJpManus);}
}

if(isset(
$_GET['jpricelohi'])){
    
$cleanJpLoHi preg_replace('/[^0-9_]/'''$_GET['jpricelohi']);