Ce l'ho fatta!
Non so se è stata la soluzione più veloce, ma l'importante è che ci sono riuscito!!

codice:
<?php

/*  setting variables  */
$trans = array(
	"'" => "", 
	'"' => "", 
	"%" => "", 
	"!" => ".exclamation_mark.", 
	"\\" => ".backslash.",
	"\$" => "-", 
	"/" => "-", 
	"°" => "", 
	"[" => ".", 
	"]" => ".", 
	"ò" => "o", 
	"è" => "e", 
	"é" => "e", 
	"à" => "a", 
	"ù" => "u", 
	"@" => ".chiocchiola.", 
	"|" => ".pipe.", 
	"£" => ".lire.", 
	"&" => ".ampersand.", 
	"=" => ".uguale.", 
	"?" => ".punto_interrogativo.", 
	"^" => ".tilde.", 
	"ì" => "i", 	
	"+" => ".plus.", 
	"*" => ".asterisk.", 
	"ç" => "c", 
	'#' => ".cancelletto.", 
	"§" => "S", 
	":" => ".", 
	"(" => "", 
	")" => "");
$filename = 'pippo\|!"£$%&/()=?^ìéè[]+*ò@çà\'#°ù§(icq.jpg';

/*  executing code  */
echo '<pre>';
echo $filename.'  -> prima
'.strtr($filename, $trans).'  -> dopo';
echo '</pre>';

?>