Jump to content


Photo

Função Replace No Flash


  • Faça o login para participar
5 replies to this topic

#1 Foxn

Foxn

    Alone in the dark

  • Usuários
  • 1230 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Programação, FLASH, JAVA SCRIPT, HTML, DHTML, XML, PHP e DELPHI

Posted 05/07/2003, 01:54

Eu estava dando uma passada no fórum da macromedia quando vi um post onde o cara queria saber como dar um repalce como o do php no flash, ai então eu fiz essa função:

// -----------------------------------------------------------------------------------------------------------------------
_global.replace = function(procura, escreva, palavra) {
    var tamanho = procura.length;
    var indice;
    var i;
    while ((indice=palavra.indexOf(procura))>=0) {
        palavra = palavra.substring(0, indice) add escreva add palavra.substring((indice+tamanho));
        i++;
        if (vezes>0 && i>=vezes) {
            break;
        }
    }
    return palavra;
};
// ---------------------------- Testando ---------------------------- \
teste = "c a b c d c";
trace(teste);
teste = replace("c","x",teste);
trace(teste);
// -----------------------------------------------------------------------------------------------------------------------

Para aqueles que não sabem, a finalidade do repalce é substituir uma palavra ou letra especificada em um texto e substitui-la em todo o texto. Vc define uma letra ou palavra que vc quer encontrar no meio de um texto, depois definimos pelo que sera substituido essa palavra e por fim definimos em que texto será executada essa ação.

[]'s
<?php $Nome = "Renato B. Pacheco";

	$Ocupacao = "Programador PHP";

	$Ocupacao .= "<br /> Programador ASP";

	$Ocupacao .= "<br /> Programador Action Script";

	$Localizacao =  "São Paulo - SP - Brasil" ?>

#2 Foxn

Foxn

    Alone in the dark

  • Usuários
  • 1230 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Programação, FLASH, JAVA SCRIPT, HTML, DHTML, XML, PHP e DELPHI

Posted 05/07/2003, 02:07

Eu mudei a função, coloquei um paramentro novo o "vezes", como ele vc pode definir quantas letras no maximo vc quer substituir, se não definir nada ou definir como 0 ele vai substituir todas como antes.

_global.replace = function(procura, escreva, palavra, vezes) {
    var tamanho = procura.length;
    var indice;
    var i;
    while ((indice=palavra.indexOf(procura))>=0) {
        palavra = palavra.substring(0, indice) add escreva add palavra.substring((indice+tamanho));
        i++;
        if (vezes>0 && i>=vezes) {
            break;
        }
    }
    return palavra;
};
//  ---------------------------- Testando ---------------------------- \\
teste = "c a b c d c";
trace(teste);
teste = replace("c","x",teste,2);
trace(teste);

<?php $Nome = "Renato B. Pacheco";

	$Ocupacao = "Programador PHP";

	$Ocupacao .= "<br /> Programador ASP";

	$Ocupacao .= "<br /> Programador Action Script";

	$Localizacao =  "São Paulo - SP - Brasil" ?>

#3 Foxn

Foxn

    Alone in the dark

  • Usuários
  • 1230 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Programação, FLASH, JAVA SCRIPT, HTML, DHTML, XML, PHP e DELPHI

Posted 05/07/2003, 02:49

Acho que isso ja ta ficando chato né eu não me decido no que fazer :lol: mas agora chega, pra fechar o assunto eu fiz dessa função uma função do objeto string:

String.prototype.replace = function(procura, escreva, vezes) {
    var tamanho = procura.length;
    var indice;
    var palavra = this;
    var i;
    while ((indice=(palavra.toLowerCase()).indexOf(procura.toLowerCase()))>=0) {
        palavra = palavra.substring(0, indice) add escreva add palavra.substring((indice+tamanho));
        i++;
        if (vezes>0 && i>=vezes) {
            break;
        }
    }
    return palavra;
};
teste = "Renato Pacheco";
trace(teste);
teste = teste.replace("e", "x");
trace(teste);

[]'s
<?php $Nome = "Renato B. Pacheco";

	$Ocupacao = "Programador PHP";

	$Ocupacao .= "<br /> Programador ASP";

	$Ocupacao .= "<br /> Programador Action Script";

	$Localizacao =  "São Paulo - SP - Brasil" ?>

#4 Thyago Mendes

Thyago Mendes

    ActionScript

  • Usuários
  • 161 posts
  • Sexo:Não informado
  • Localidade:Recife - PE

Posted 05/07/2003, 19:49

Gostei.... vou colocar minha versão também

String.prototype.replace = function(x, y, z) {
	var $this = this.split('');
	if (z == undefined) {
  z = this.lastIndexOf(x);
	}
	for (var i = 0, n = 0; i<$this.length && n<z; i++) {
  if ($this[i] == x) {
 	 $this[i] = y;
 	 n++;
  }
	}
	return $this.join('');
};
frase = "Thyago Mendes";
trace(frase.replace("e", "E", 2));


#5 Durban

Durban

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 13/09/2003, 23:51

Foxn, desculpa a minha ignorância, mas não entendi o que esse "replace" faz!!!
É duro ser modesto quando se é bom....

#6 Foxn - no trabalho

Foxn - no trabalho
  • Visitantes

Posted 15/09/2003, 11:25

Veja o exemplo que eu avia colocado:

teste = "Renato Pacheco";
trace(teste); // Renato Pacheco
teste = teste.replace("e", "x");
trace(teste); // Rxnato Pachxco

Quando uso o replace ele busca por todas as letras "e" e substitui pela letra "x".

[]'s




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq