function deep_sunshine($string, $pattern, $other = 'none'){ switch($pattern){ case 'alpha': $regex = '[a-z ]'; break; case 'numeric': $regex = '[0-9 ]'; break; case 'mixed': $regex = '[a-z0-9 ]'; break; case 'email': $regex = '[a-z0-9]{1,}@[a-z0-9.-]{1,}.[a-z]{2,4}'; break; } $trimmed = trim($string); if (@!preg_match('/^' . $regex . '+$/i', $trimmed)){ return FALSE; } return TRUE; }