Ыы,ну адно из двух,или я дурак или лыжы не едут...
<?php
foreach ($_GET as $k=>$v) {
$_GET[$k]=str_replace('!','',$_GET[$v]); }
foreach ($_POST as $k=>$v) {
$_POST[$k]=str_replace('!','',$_POST[$v]); }
?>
Фильтровать нада не ключь а значение,и там получаицо че ключу значением присваиваицо ключ,
А лучшо по мне так
<?php
function aaa($string) {
return str_replace('!','',$string); }
$_GET = array_map('aaa', $_GET);
?>