Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Loko da Web

Replace para caracteres

Recommended Posts

Bom dia!

 

Pessoal não estou conseguindo aplicar replace em palavras que contem acentos com filtro, digito "coração" com todos os caract e mesmo assim não me retorna nenhum resultado. Fiz teste sem o filtro, funciona 100%, mas com o filtro não funciona. Tentei de varias maneiras:

 

Function RemoveAcentos(ByVal Texto)
	Dim  palavrasem
	Dim  palavrasem
	Dim Resultado
	Dim Cont
	palavracom = "ÁÍÓÚÉÄÏÖÜËÀÌÒÙÈÃÕÂÎÔÛÊáíóúéäïöüëàìòùèãõâîôûêÇç"
	 palavrasem = "AIOUEAIOUEAIOUEAOAIOUEaioueaioueaioueaoaioueCc"
	Cont = 0
	Resultado = Texto
	Do While Cont < Len(palavracom)
	Cont = Cont + 1
	Resultado = Replace(Resultado, Mid(palavracom, Cont, 1), Mid( palavrasem, Cont, 1))
	Loop
	RemoveAcentos = Resultado
End Function

function palavrasem(pesq)

palavrasem = Replace(pesq,"a","[a, á , ã]")
palavrasem = Replace(palavrasem,"A","[A, Á, Ã]")
palavrasem = Replace(palavrasem,"e","[e, é , è , ê]")
palavrasem = Replace(palavrasem,"E","[E , É , Ê]")
palavrasem = Replace(palavrasem,"i","[i , í , ì]")
palavrasem = Replace(palavrasem,"I","[I , Í]")
palavrasem = Replace(palavrasem,"o","[o , ó , ò , ô , õ]")
palavrasem = Replace(palavrasem,"O","[O , Ó , Ô , Õ]")
palavrasem = Replace(palavrasem,"u","[u , ú , ù]")
palavrasem = Replace(palavrasem,"U","[U , Ú]")
palavrasem = Replace(palavrasem,"c","[c , ç]")
palavrasem = Replace(palavrasem,"C","[C , Ç]")
palavrasem = palavrasem
end function

function palavracom(pesq)
palavracom = Replace(pesq,"ã","[a]")
palavracom = Replace(palavracom,"Ã","[A]")
palavracom = Replace(palavracom,"á","[a]")
palavracom = Replace(palavracom,"Á","[A]")
palavracom = Replace(palavracom,"ê","[e]")
palavracom = Replace(palavracom,"Ê","[E]")
palavracom = Replace(palavracom,"í","[i]")
palavracom = Replace(palavracom,"Í","[I]")
palavracom = Replace(palavracom,"õ","[o]")
palavracom = Replace(palavracom,"Õ","[O]")
palavracom = Replace(palavracom,"ú","[u]")
palavracom = Replace(palavracom,"Ú","[U]")
palavracom = Replace(palavracom,"ç","[c]")
palavracom = Replace(palavracom,"Ç","[C]")
palavracom = palavracom
end function

 

If (Request.Form("filtro") = "todos") Then
sql = "SELECT * FROM fotos WHERE  nome LIKE '%" & palavrasem(pesq) & "%' and nome LIKE '%" & palavracom(pesq) & "%'"
else
sql = "SELECT * FROM fotos WHERE  nome LIKE '%" & palavrasem(pesq) & "%' and nome LIKE '%" & palavracom(pesq) & "%' and idcat= " & request.form("filtro") & ""
end if

form de busca = pesq

form de select = filtro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensando o pq o ted fez aquela pergunta, cosegui chegar a uma conclusao, basta apenas colocar replace para o que nao tem acento:

 

function palavrasem(pesq)
palavrasem = Replace(pesq,"a","[a, á , ã]")
palavrasem = Replace(palavrasem,"A","[A, Á, Ã]")
palavrasem = Replace(palavrasem,"e","[e, é , è , ê]")
palavrasem = Replace(palavrasem,"E","[E , É , Ê]")
palavrasem = Replace(palavrasem,"i","[i , í , ì]")
palavrasem = Replace(palavrasem,"I","[I , Í]")
palavrasem = Replace(palavrasem,"o","[o , ó , ò , ô , õ]")
palavrasem = Replace(palavrasem,"O","[O , Ó , Ô , Õ]")
palavrasem = Replace(palavrasem,"u","[u , ú , ù]")
palavrasem = Replace(palavrasem,"U","[U , Ú]")
palavrasem = Replace(palavrasem,"c","[c , ç]")
palavrasem = Replace(palavrasem,"C","[C , Ç]")
palavrasem = palavrasem
end function

Nice, muito obrigado hein, ted !!!!! \O/

 

Não tranquem o topico ainda, só preciso saber qual o replace de , (virgula) por espaço ?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

vartexto="xan,,xan,,,123,x"
texto = replace(vartexto,","," ") 
response.write(texto)

beleza...

se tiver masi duvidas , estamos ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

vartexto="xan,,xan,,,123,x"
texto = replace(vartexto,","," ") 
response.write(texto)

beleza...

se tiver masi duvidas , estamos ai

Bom dia, Xan...

 

Cara, não to conseguindo quebrar essa. O negocio é seguinte, tenho uma frase:

 

Eu, Meu Irmão e Nossa Namorada

 

Quero que aquela virgula seja uma caractere vazio, nulo... Sendo que quando digitar eu meu irmao e nossa namorada, me retorne o resultado. Quando digito eu, meu irmao e nossa namorada me retorna o resultado, mas com a virgula. tentei dessa forma.

 

function palavrasem(pesq)
palavrasem = Replace(pesq,"a","[a , á , ã , à]")
palavrasem = Replace(palavrasem,"A","[A , Á , Ã, À]")
palavrasem = Replace(palavrasem,"e","[e , é , è , ê]")
palavrasem = Replace(palavrasem,"E","[E , É , È , Ê]")
palavrasem = Replace(palavrasem,"i","[i , í , ì]")
palavrasem = Replace(palavrasem,"I","[I , Í , Ì]")
palavrasem = Replace(palavrasem,"o","[o , ó , ò , ô , õ]")
palavrasem = Replace(palavrasem,"O","[O , Ó , Ò , Ô , Õ]")
palavrasem = Replace(palavrasem,"u","[u , ú , ù ,]")
palavrasem = Replace(palavrasem,"U","[U , Ú , Ù]")
palavrasem = Replace(palavrasem,"c","[c , ç]")
palavrasem = Replace(palavrasem,"C","[C , Ç]")
palavrasem = Replace(palavrasem,"","[chr(44) , chr(44)]")
palavrasem = palavrasem
end function

Compartilhar este post


Link para o post
Compartilhar em outros sites

palavrasem = Replace(palavrasem,",","")

Isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testa o trecho do code, que postei, faz isso

vartexto="xan,,xan,,,123,x"
texto = replace(vartexto,","," ") 
response.write(texto)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguma mensagem de erro? Como está o código agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, aki funciona normal...

Troca a “ , “ por “ “

 

vartexto="xan,,xan,,,123,x"
texto = replace(vartexto,","," ") 
response.write(texto)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon, não imprimi nenhum erro, apenas não gera o resultado, o cod esta assim:

 

function palavrasem(pesq)
palavrasem = Replace(pesq,"a","[a , á , ã , à]")
palavrasem = Replace(palavrasem,"A","[A , Á , Ã, À]")
palavrasem = Replace(palavrasem,"e","[e , é , è , ê]")
palavrasem = Replace(palavrasem,"E","[E , É , È , Ê]")
palavrasem = Replace(palavrasem,"i","[i , í , ì]")
palavrasem = Replace(palavrasem,"I","[I , Í , Ì]")
palavrasem = Replace(palavrasem,"o","[o , ó , ò , ô , õ]")
palavrasem = Replace(palavrasem,"O","[O , Ó , Ò , Ô , Õ]")
palavrasem = Replace(palavrasem,"u","[u , ú , ù ,]")
palavrasem = Replace(palavrasem,"U","[U , Ú , Ù]")
palavrasem = Replace(palavrasem,"c","[c , ç]")
palavrasem = Replace(palavrasem,"C","[C , Ç]")
palavrasem = Replace(palavrasem,","," ") 
palavrasem = palavrasem
end function

If (Request.Form("filtro") = "todos") Then
sql = "SELECT * FROM fotos WHERE  nome LIKE '%" & palavrasem(pesq) & "%'"
else
sql = "SELECT * FROM fotos WHERE  nome LIKE '%" & palavrasem(pesq) & "%' and idcat= " & request.form("filtro") & ""
end if

Xan, testei seu cod da forma que postou, deu certo... mas aplico junto na função acima, não funciona. Putz... ta dificil né !

Compartilhar este post


Link para o post
Compartilhar em outros sites

estranho...

 

aki funciona normalmente

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.