Ir para conteúdo

POWERED BY:

Arquivado

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

silas_i

Pesquisa

Recommended Posts

Pessoal, preciso fazer uma busca onde seja realçado as palavras digitas porém uma por vez. Igual qdo você aperta F3 do Internet explorer diga algo e ele vai listando as palavras que eu procurei.Tem como fazer isso em asp ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que sim Silas! Só que vai ser menos prático, pois vai ao server toda hora.

 

Vai precisar usar o REPLACE (isso eu sei que você já sabe, hehehehhe) só que usando alguns argumentos opcionais da função em conjunto com a função InStr para pegar a posição da próxima ocorrência.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother Salgado, Cara o Replace beleza só não sei como usar o Instr. Sei que ele pega a posição inicial e a final mas ele não pega a posição inicial e final de uma string ? Como fazer para que ele pegue a primeira palavra digitada e depois a segunda ? Mesmo que não seja tão funcional pq vou rodar online !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A Sintaxe completa do REPLACE está nesse POST.

 

O InStr retorna a posição do 1º Caractere buscado no Texto, com base nisso e usando a sintaxe completa do Replace e também a do InStr (já posto comentada) dá para fazer o que você quer, vamos ver se estou bom de fazer Script de cabeça:

ASP
  1. TEXTO Request("Texto") 'Texto completo
     
  2. REALCE Request("Realce") 'Texto a ser realçado
     
  3. POSICAO Request("Posicao") 'Posição da próxima ocorrência, se for 0 é pq já foram todas
     
  4. If Posicao > 0 Then
     
  5. TextoComRealce REPLACE(Texto, Realce, "<a name=""REALCANDO""></a> <B>"& REALCE &"</B>", Posicao, 1, 1)
     
  6. Posicao InStr((posicao + Len(Realce)), Texto, Realce, 1)
     
  7. End If
     
  8. Response.Write TextoComRealce
     
  9. Response.Write "<a href=""?Texto="& Texto &"&Realce="& Realce &"&Posicao="& Posicao &"#REALCANDO""> Próximo </a>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh simples silasvocê começa da posição 1 sempre então faz o seguintePOS = INSTR(1,TEXTO,PALAVRA)se achar destacaIF POS > 0 THENTEXTO = LEFT(TEXTO,POS-1) & "<b>" & PALAVRA & "</b>" & MID(TEXTO,POS + LEN(PALAVRA))END IFai na proxima você em vez de 1 começa de POS + 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

LINK para teste

E o código com correção:

ASP
  1. <%TEXTO Request("Texto") 'Texto completo
     
  2. REALCE Request("Realce") 'Texto a ser realçado
     
  3. POSICAO Request("Posicao") 'Posição da próxima ocorrência, se for 0 é pq já foram todas
     
  4. If Posicao <> "" Then
     
  5. Posicao Cint(Posicao)
     
  6. If Posicao > 0 Then
     
  7. TextoComRealce Left(Texto,(Posicao-1)) & REPLACE(Texto, Realce, "<a name=""REALCANDO""></a><B>"& REALCE &"</B>", Posicao, 1, 1)
     
  8. Posicao InStr((posicao + Len(Realce)), Texto, Realce, 1)
     
  9. Response.Write Replace(TextoComRealce,Chr(13),"<BR>") &"<BR><BR>"
     
  10. Else
     
  11. Posicao = 1
     
  12. End If
     
  13. Else
     
  14. Posicao = 1
     
  15. End If
     
  16. %>
     
  17. <FORM action="realce.asp#REALCANDO" method=POST id=form1 name=form1>
     
  18. <TEXTAREA rows=5 cols=20 id=textarea1 name="TEXTO"><%=Texto%></TEXTAREA><BR>
     
  19. <INPUT type="text" id=text1 name="REALCE" Value="<%=Realce%>"><BR>
     
  20. <INPUT type="hidden" id=text1 name="POSICAO" Value="<%=Posicao%>">
     
  21. <BR><INPUT type="submit" value="Submit" id=submit1 name=submit1>
     
  22. </FORM>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ei salgado tapraticamente perfeito o negocio mais ele realça duasvez a primeira ocorrencia... é so isso de estranho que vi

Compartilhar este post


Link para o post
Compartilhar em outros sites
ei salgado tapraticamente perfeito o negocio mais ele realça duas vez a primeira ocorrencia... é so isso de estranho que vi

É, a 1ª ocorrência ele realça 2 vezes, as outras segue normal. Não tentei realmente corrigir isso e ainda não parei para ver direito como corrigir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera a não ser por esse problema de aparecer duas vezes a mesma palavra ta funcionando. Mas me apareceu uma dúvida. No meu caso eu tenho uma tabela do banco de dados aonde eu tenho um campo que pode achar em algumas dessas colunas. Como eu poderia fazer isso !?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi sua ultima pergunta silas

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.