Fórum WMO: Função Replace No Flash - Fórum WMO

Ir para

Página 1 de 1
  • Novo tópico
  • Responder
  • Ícone  Compartilhar

Função Replace No Flash

#1 Membro offline   Foxn 

  • Alone in the dark
  • Ícone
  • Grupo: Usuários
  • Posts: 1.230
  • Cadastrado: 18/01/2003
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Programação, FLASH, JAVA SCRIPT, HTML, DHTML, XML, PHP e DELPHI
Pontos: 0
Neutral

Postou 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" ?>
0

#2 Membro offline   Foxn 

  • Alone in the dark
  • Ícone
  • Grupo: Usuários
  • Posts: 1.230
  • Cadastrado: 18/01/2003
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Programação, FLASH, JAVA SCRIPT, HTML, DHTML, XML, PHP e DELPHI
Pontos: 0
Neutral

Postou 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" ?>
0

#3 Membro offline   Foxn 

  • Alone in the dark
  • Ícone
  • Grupo: Usuários
  • Posts: 1.230
  • Cadastrado: 18/01/2003
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Programação, FLASH, JAVA SCRIPT, HTML, DHTML, XML, PHP e DELPHI
Pontos: 0
Neutral

Postou 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" ?>
0

#4 Membro offline   Thyago Mendes 

  • ActionScript
  • Ícone
  • Grupo: Usuários
  • Posts: 161
  • Cadastrado: 28/06/2003
  • Sexo:Não informado
  • Localidade:Recife - PE
Pontos: 0
Neutral

Postou 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));

0

#5 Membro offline   Durban 

  • Turista
  • Ícone
  • Grupo: Usuários
  • Posts: 40
  • Cadastrado: 15/04/2003
  • Sexo:Não informado
Pontos: 0
Neutral

Postou 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....
0

#6 Foxn - no trabalho

  • Grupo: Visitantes
Pontos: 0

Postou 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
0

Página 1 de 1
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)