To fazendo uma formatação de texto, so que ta tudo errado.
Segue abaixo o um teste que fiz:
Teste 01
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
$nome = "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ";
$formatado = preg_replace("[a-zA-Z0-9]", "", strtr($nome, "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ", "aaaaeeiooouucAAAAEEIOOOUUC_"));
$formatado = preg_replace("[ ]","",$formatado);
$formatado = preg_replace("[^]","",$formatado);
$formatado = preg_replace("[´]","",$formatado);
$formatado = preg_replace("[`]","",$formatado);
$formatado = preg_replace("[~]","",$formatado);
$formatado = preg_replace("[¨]","",$formatado);
$formatado = preg_replace("[_]","",$formatado);
$formatado = strtolower($formatado);
echo $formatado;
?>
</body>
</html>
Resultado final é este: aaeoouaaeiouc�������������
----
Teste 02
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
$nome = "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ";
$formatado = preg_replace("[a-zA-Z0-9]", "", strtr($nome, "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ", "aaaaeeiooouucAAAAEEIOOOUUC_"));
$formatado = preg_replace("[ ]","",$formatado);
$formatado = preg_replace("[^]","",$formatado);
$formatado = preg_replace("[´]","",$formatado);
$formatado = preg_replace("[`]","",$formatado);
$formatado = preg_replace("[~]","",$formatado);
$formatado = preg_replace("[¨]","",$formatado);
$formatado = preg_replace("[_]","",$formatado);
$formatado = strtolower($formatado);
echo $formatado;
?>
</body>
</html>
Resultado final é este: aaeoouaaeiouc€ƒ‚‰š“”•šœ‡
Alguem pode me dizer o que esta acontecendo?
PS: eu não sei porque diabos quando eu posto o codigo ele ta quebrando a linha no $nome e no primeiro $formatado.. no meu codigo original não esta assim
Edição feita por: Max William, 26/02/2010, 18:33.












