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>';
?>