Ir para conteúdo

POWERED BY:

Arquivado

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

Loma

while replace(campo, "!!","!")

Recommended Posts

Oi genti, seguinte eu to querendo criar uma função que pegue o valor de um textarea e trate antes de inserir no banco.tipo o usuario escreve "to feliz!!!" com 3 pontos de exclamação, se eu der um replace(campo,"!!","!") ele vai apagar um e depois no total ainda ficariam 2 pontos de exclamação, então tenho que colocar isso dentro de um while mas com que clausula?tem que ser algo do tipoenquanto (no campo tiver !!) replace(campo,"!!","!")Loopalguém ajuda?bjssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Princesa,

 

Esta função faria o replace somente do !!! ou de outros sequências: ?!, $!@ ?

 

Outra pergunta no exemplo: to feliz!!! a função retornaria: feliz! ou to feliz?

 

Esta função você quer em ASP, JavaScritp ou componete?

 

Post as resposta ai para continuarmos o debate.

 

t+

 

 

 

Oi genti, seguinte eu to querendo criar uma função que pegue o valor de um textarea e trate antes de inserir no banco.

 

tipo o usuario escreve "to feliz!!!" com 3 pontos de exclamação, se eu der um replace(campo,"!!","!") ele vai apagar um e depois no total ainda ficariam 2 pontos de exclamação, então tenho que colocar isso dentro de um while mas com que clausula?

 

tem que ser algo do tipo

 

enquanto (no campo tiver !!)

replace(campo,"!!","!")

Loop

 

alguém ajuda?

bjssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho mais conveniente criar um array e verificar se existe na sequencia o caracter !...tipo issoarrayExcl = split("to feliz!!!")ai você faz um FOR e vai verificando se o caracter muda a cada NEXT e vai concatenando os resultados, assim você cria uma função pra pegar somente o que interessa e não precisa fazer fazer inúmeros REPLACE pois você nunca saberá se o usuário colocou um,dois,tres,quatro,cinco.... sinais de exclamação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente muito obrigada pela ajuda, resolvi aqui vou postar a solução para pesquisa posterior.

 

ao exemplo:

 

se o usuário digita em uma input text a string "eu to muito feliz!!!" ele digitou 3 pontos de exclamação mas no caso do sistema aqui só pode um caracter de pontuação.

O que acontecia quando você usava um replace:

 

replace(variavel,"!!","!")

 

ele pegava a string via que depois da palavra feliz tinha dois pontos de exclamação apaga um ponto e continua, quando ele continua ele só ve mais 1 ponto de exclamação, mas no resultado final ficavam 2 pontos o que sobrou quando ele apagou um e o próximo.

 

Então fiz:

 

Do while instr(campo, "!!")

campo = replace(campo,"!!","!")

loop

 

usando a função inStr que verifica uma string dentro de uma outra string ficou:

 

Faça Enquanto "na variavel campo existir !!"

"variavel campo" = replace(campo,"!!","!")

Novamente

 

ele roda o replace até só restar um ponto!

 

Beijos a todos

brigada meninos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

e se a pessoa digitar "alo ! ! !"como que vai resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é, se colocar no array dá pra ir testando se o proximo caracter é espaço e o seguinte exclamação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada meirelles

 

 

No post anterior questionava isso mesmo quas as sequencias? Sempre será o caracter !.

 

Poderiam ser: "alo! !!! !! " ou "alo! !! !! " ou alo.! !? ?? "

 

Bom Loma você pensou nestas opções?

 

t+

 

 

 

e se a pessoa digitar "alo ! ! !"

 

como que vai resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah mewwww,Se formos ficar pensando em tudo que eh m***** q o usuário pode digitar ficaremos loukos.Podemos tratar as coisas mais absurdas que pensarmos, mais eu afirmo a vcs que eles sempre irão digitar alga mais absurdo ainda...falowww

Compartilhar este post


Link para o post
Compartilhar em outros sites

com certeza, mas é dever de um bom programador tratar todos os erros possiveis e controlar pra ver se aparecem novos e corrigir. Ao menos devemos tratar os mais óbvios

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa gente bom o padrão ta feito né.se eu for ver as possibilidades que o cara tem eu vou ter que criar uma função mega monstro se não infinita."ola! !!! !""ola!.!.!."Tentem só imaginar o tamanho do problema!O importante ta feito não entra plica nem repetição de <br>,  e pontos de exclamaçãoBeijossssssssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim velho, os mais obvios claro!!!Mais pensar na possibilidade do Truta digitar "! ! !" ou "! ! !" ou " !! !"Ai vai fikar todo mundo loko

Compartilhar este post


Link para o post
Compartilhar em outros sites

Princesa,

 

Se você diz que a função tratando ! lhe atende quem somos nós para questionarmos! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Acho que a inferência do birobirosk8 procede mas acho que a reposta do jonathandj diz tudo.

 

A discussão agora é mais por curiosidade e para efeito de aprendizagem.

 

Eu sou um programador bastante defensivo tento barra a maioria dos problemas que percebo. Trabalho combancos (licitações, pregões eletrônicos, leilão reverso e etc e tudo na casa dos milhões) então as vezes por causa de uma função que não abrange todas os erros (pelo menos os mais claros) pode gerar um problemão. O fornecedor não esta nem ai se ele digitou algum caracter errado e por isso ocorreu um erro e ele não pode enviar a proposta dele. Ele simplesmente entra na justiça alegando que o sistema deveria impedir a entrada do caracter que resultou em erro. Ja vi fornecedores entrarem na jusitça (mandato de segurança) pq ele anexou um arquivo errado. Era para anexar um certidão do INSS e ele anexou um proposta. Agora como vou validar o conteúdo do arquivo dele.

 

Acho que sempre é possivel fazer o melhor pq fazendo o melhor agora vai passar menos raiva futuramente.

 

Agora cada caso é um caso e depende do desenvolvedor adotar a soluçao mais viável.

 

Só por curiosidade se o usuário digitar " no texto o que acontece?

 

No mais precisando estamos ai.

 

t+

 

 

Opa gente bom o padrão ta feito né.

se eu for ver as possibilidades que o cara tem eu vou ter que criar uma função mega monstro se não infinita.

 

"ola! !!! !"

"ola!.!.!."

 

 

Tentem só imaginar o tamanho do problema!

O importante ta feito não entra plica nem repetição de <br>,  e pontos de exclamação

 

Beijossssssssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com você , mas como graças a deus no meu caso meu chefe disse que só precisa dessas verificações para validar la foi-se!

 

tem um replace de ' (plica) na chamada.

 

eu tava querendo colocar isso em uma função pra poder colocar varias opçoes de validação

 

Seria assim o jeito de fazer?

 

Function LimpaVar(campo)Do while instr(campo, "!!")	campo = replace(campo,"!!","!")loopDo while instr(campo, "??")	campo = replace(campo,"??","?")loopDo while instr(campo, "Chr(13)Chr(13)")	campo = replace(campo,"Chr(13)Chr(13)","Chr(13)")loopDo while instr(campo, "  ")	campo = replace(campo,"  "," ")loop'------------------------------------------------end function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu chefe num curte que nada apareça junto numa frase se pah neh mewww

Imagina se ele ver a palavra "comprEEnder", "lEEm", e assim por diante, vai fikar louco hauuaua

 

bom, a funcao ficaria dessa forma q você fez mesmo, soh adicione a linah no final

 

Function LimpaVar(campo)Do while instr(campo, "!!")	campo = replace(campo,"!!","!")loopDo while instr(campo, "??")	campo = replace(campo,"??","?")loopDo while instr(campo, "Chr(13)Chr(13)")	campo = replace(campo,"Chr(13)Chr(13)","Chr(13)")loopDo while instr(campo, "  ")	campo = replace(campo,"  "," ")LoopLimpaVar = campo'------------------------------------------------end function

e depois para chama-la no seu codigo assim:

 

response.write limparVar("As pessoas lEEm para comprEEnder as coisas ??? !!! @@@ &&& kkk kkk kkk")

 

 

falowww

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.