sexta-feira, 10 de fevereiro de 2012

Função para limpar texto em javascript


Ontem, precisei de uma função em javascript pra tirar acentos e caracteres especiais de textos, tipo essa que o wordpress faz quando vamos criar um novo post.
O problema não era só trocar os caracteres especiais por traços, e sim trocar as letras acentuadas pelas respectivas sem acentos. Acabei achando  nesse blog o que eu precisava pra fazer essa parte.
O resto foi com expressões regulares.
A função ficou assim:
function limpar(texto)
{
 texto = texto.replace(/^\s+|\s+$/g, "");//tira espaços do inicio e do fim
 texto = texto.replace(/\s{2,}/g, " ");//tira espaços duplicados
 
 replacements = {
  "[áãàäâª]": "a",
  "[éèëê]": "e",
  "[íìï]": "i",
  "[óòôõö]": "o",
  "[ùúûü]": "u",
  "[ç]": "c"
 };
 regex = {};
 for (key in replacements) {
   regex[key] = new RegExp(key, 'g');
 }

 for(key in replacements){
   texto = texto.replace(regex[key], replacements[key]);//tira caracteres acentuados
 }
 texto = texto.replace(/[^A-Za-z0-9]/g, "-");//tira caracteres especiais
 texto = texto.toLowerCase();//coloca em minusculo
 return texto;
}

Constantes Mágicas


São constantes definidas pelo PHP e que não podem ser alteradas. Algumas podem mudar conforme o lugar onde são utilizadas.

Exemplo:


__LINE__;//linha atual do script
__FILE__;//caminho completo e nome do arquivo.se utilizado dentro de um include, o nome do arquivo incluido será utilizado.
__DIR__;//pasta do arquivo
__FUNCTION__;//nome da função
__CLASS__;//nome da classe
__TRAIT__;//nome do trait (php 5.4.0)
__METHOD__;//nome do método da classe
__NAMESPACE__;//nome do namespace