Código PHP:
function clean($str){
return preg_replace('/[^a-zA-Z0-9\-ïáíóúé]/', ' ', $str);
}
Si $_POST['d'] = "@ ï Panamá Pedí Olvidó último Volveré @ - % #$#89/¨*]{}+´´´[";
Imprima: Panam Ped Olvid ltimo Volver - 89 (sin los acentos)
Cuando uso directamente la REGEX:
$tes = "@ ï Panamá Pedí Olvidó último Volveré @ - % #$#89/¨*]{}+´´´[";
echo preg_replace("/[^a-zA-Z0-9\-ïáíóúé]/", " ", $tes);
Imprima : ï Panamá Pedí Olvidó último Volveré - 89 (OK).
Alguien puede ver porque la función falla?