Вы можете использовать str_replace с массивами:
// $arrayOfCharsToReplace = array('!','*', ...etc
$clean = str_replace(
$arrayOfCharsToReplace,
array_fill(0, count($arrayOfCharsToReplace), ''), // array of empty strings
$unclean
);
Вы также можете использовать strtr
примерно так:
// $arrayOfReplacements = array('!' => '', '*' => '', ...etc
$clean = strtr($unclean, $arrayOfReplacements);