If I understand correctly, it can help stunt double-replacement
First, case-insensitive, then without.
$result = str_replace($from, $to, $text);
$result = str_ireplace($from, $to, $result);
In General, judging by the description the author solves the problem of replacement of accented characters to counterparts without.
If so then try this script https://github.com/infralabs/DiacriticsRemovePHP
Another option is to use iconv() with the flag //TRANSLIT
$result = iconv('UTF-8', 'US-ASCII//TRANSLIT', $text);