Um problema que tive, não apenas ao tentar reverter frases, foi com caracteres acentuados que não eram revertidos no formato utf8. Estava a tentar mudar o host de um site, para uma hospedagem mais barata 😂, e tive um problema, pensei tratar-se da versão PHP ou configurações do servidor, mas não, um dos problemas foi abrir o aquivo e salvá-lo, por algum motivo era salvo numa codificação ANSI ou Unicode e não UTF-8, fazia o upload e, ao acessar a página web os caracteres acentuados e o 'ç' apareciam com problema ou, no caso de um filtro que usei estes não eram filtrados. Resolvi salvando o arquivo na codificação UTF8 -
fica a dica para quem usa criar/editar em coisas como 'bloco de notas' ou documento de texto(que para php, html... tem que ser algum que não aplica formatações ou estilos) - e transferindo novamente.
Outro caso, que eu nunca havia usado com letras acentuadas, é o '
strrev', e este dá problema, não deu mensagem de erro, mas deu merd...:
<?php
echo strrev("Olá mundo!"); //mostrou "!odnum �lO" ao invés de "!odnum álO"
?>
Um tipo de 'gambiarra' para corrigir o que parece um bug ao inverter(de trás para frente) uma frase ou texto com acentuação:
<?php
function utf8_inversor($str){
preg_match_all('/./us', $str, $ar);
return join('',array_reverse($ar[0]));
}
$Reverso=utf8_inversor("Olá mundo!");
echo $Reverso; //mostra "!odnum álO"
?>
Fonte: http://php.net/manual/pt_BR/function.strrev.php
Sem comentários:
Enviar um comentário