[SP-pm] performance + expressao regular

Adriano Ferreira a.r.ferreira em gmail.com
Terça Janeiro 9 10:50:54 PST 2007


On 1/9/07, Diego Altheman dos Santos <diego at phpinfo.eti.br> wrote:
> Pessoal,
>
> Estou com serio problema de performance nas expressoes abaixo. Na funcao
> abaixo substuito caracteres acentuados por caracteres nao acentuados, exemplo
> Até vira ate. Gostaria de sabe c algum tem alguma sugestao.

Esqueça seus problemas com performance. Não escreva mais uma linha de
código. Tem de ser preguiçoso, como o Larry nos ensinou.

Use Text::Unaccent (que pode ser encontrado no CPAN mais próximo - vai
precisar de compilador C, mas é rápido que dói).

    use Text::Unaccent;

    $unaccented = unac_string('iso-8859-1', $string);

provavelmente faz o que você quer.

Leia a documentação em
http://search.cpan.org/~ldachary/Text-Unaccent-1.08/Unaccent.pm

> Vlw

>
>
>
>         $locfncstr      =~      s/Ã|Â|Á|À|Ä/A/ig;
>         $locfncstr      =~      s/Ê|É|È|Ë/E/ig;
>         $locfncstr      =~      s/Í|Ì|Ï/I/ig;
>         $locfncstr      =~      s/Õ|Ô|Ó|Ò|Ö/O/ig;
>         $locfncstr      =~      s/Ú|Ù|Ü/U/ig;
>         $locfncstr      =~      s/Ç/C/ig;
>
>         $locfncstr      =~
> s/[\\+?"'=;.|!@#%&\*\$\(\)_§ªº°:><\^~'`\{\}\[\]]//ig;
>
>         $locfncstr      =~      s/[\t|\r|\n]//ig;
>
>
>         return $locfncstr;
>
> --
> www.phpinfo.eti.br
> Diego Altheman
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>


Mais detalhes sobre a lista de discussão SaoPaulo-pm