No lo estarás aplicando bien. Hacé directamente así y debería funcionar
Código PHP:
<?php
$prueba = htmlspecialchars($prueba);
$prueba = strtolower($prueba);
$find = array('á','é','í','ó','ú','ñ');
$repl = array('a','e','i','o','u','n');
$signos = array('.',',',':',';','-','_','^','*','/','+','¿','?','@','#','|','"','\'','\\','·','¬','$','~','{','}','[',']','`','´','¨','%','=','!','¡');
$prueba = str_replace($find,$repl,$prueba);
$prueba = str_replace($signos,'',$prueba);
echo $prueba.'<br />';
?>
Si querés que sólo remplace los latinos, editá el array y dejá solamente esos.