Deinem Vorhaben ist aber strtr() relativ nahe. Die Character-Map muss du dir aber selbst erstellen (oder von einem Open-Source-Projekt kopieren).
Nachtrag: in TYPO3 (GPLv2) wird das z.B. an dieser Stelle gemacht http://api.typo3.org/typo3v4/current/html/class_8t3lib__cs_8php_source.html#l01620
Nachtrag: entsprechende Transliterationstabellen findest du im TYPO3-Sourcecode unter /t3lib/unidata/