There are some possibly undesirable conversions with ASCII//TRANSLIT//IGNORE or your users may require some custom stuff.
You might want to run a substitution up front for certain things, such as when you want 3 letter ISO codes to replace currency symbols. £ transliterates to "lb", for example, which is incorrect since it's a currency symbol, not a weight symbol (#). 
ASCII//TRANSLIT//IGNORE does a great job within the realm of possibility :-)
When it doesn't do something you want it to, you can set up a CSV with one replacement per line and run a function like:
    function stripByMap($inputString, $mapFile)
    {
        $csv = file($mapFile);
        foreach($csv as $line)
        {
            $arrLine = explode(',', trim($line));
            $inputString = str_replace($arrLine[0],$arrLine[1],$inputString);
        }
        return $inputString;
    }
or you can write some regexes. Transliterating using ASCII//TRANSLIT//IGNORE  works so well that your map probably won't be very long...