Zamiana znaków różnych języków na odpowiedniki angielskie

Witam

Otrzymuję w pewnym formularzu różne litery/znaki z całego świata. Czy jest jakaś funkcja, która przerobi wszystkie inne kodowania na utf8, a następnie wszystkie inne znaki zamieni na angielskie (np: ą=>a, ü=>u) , a jeśli nie będzie odpowiednika to zamieni na “-”. Mógłbym to robić np. przez preg_match ale nie znam wszystkich znaków świata dlatego może jest jakaś funkcja do tego?

Z góry dziękuję za pomoc.

<?php
$text = "ą ć ę ł ń ó ś ź ż Ą Ć Ę Ł Ń Ó Ś Ź Ż";
echo $text.'<br />';
echo iconv("UTF-8", "ASCII//TRANSLIT", $text), PHP_EOL;
?>