Ir para conteúdo

Arquivado

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

jrcardozo

Destacando palavras de um texto

Recommended Posts

ASP
'####### Destacando palavras dentro de um texto

'Autor: Jonathan Cardozo

'Data: 25/04/2007

Function destacaPalavras(StrTexto,StrPalavras)

'StrTexto       = string do texto onde vamos pesquisar

'StrPalavras = array contendo as palavras desejadas

dim arrayPalavras

on error resume next

  StrPalavras = replace(trim(StrPalavras)," ",",")

  StrPalavras = replace(trim(StrPalavras),"-",",")

  arrayPalavras = split(StrPalavras,",")

  for j=0 to ubound(arrayPalavras)

   StrTexto=Replace(StrTexto, trim(arrayPalavras(j)), "<b>"& trim(arrayPalavras(j)) &"</b>")

  next

  destacaPalavras = StrTexto

if err.number <>0 then

  response.write("ERRO ao destacar palavras")

  Response.End()

end if

End function

Chamada da função

ASP
response.write(destacaPalavras("Meu texto completo para procurar palavras e destacar em negrito.As palavras a ser procuradas neste texto devem estar na forma de array","completo,texto,negrito,palavras") )

As palavras a serem procuradas devem ser separadas por virgula, traço ou espaço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, código ótimo, ja coloquei na minha pagina e funcionou, só que ele ta com 1 problema,Ele procura a palavra EXATAMENTE como esta, no caso se a palavra tiver letra maiuscula ou acento ele não acha, alguma solução ???Grato !

Compartilhar este post


Link para o post
Compartilhar em outros sites

para fazer o replace sem case sensitive só alterar aqui

ASP
StrTexto = Replace(StrTexto, trim(arrayPalavras(j)),"<b>"& trim(arrayPalavras(j)) &"</b>", 1 , -1, 1)
quanto a palavras com e sem acento você deve informar as possibilidades desejadas no parametro StrPalavras

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Jonathan, beleza?

 

Show de bola esse teu script...coloquei pra funcionar na moral...mas encontrei duas dificuldades, que são as seguintes:

 

1 - Gostaria que ao invés de colocar em negrito as palavras-chave que escolhi, elas ficassem com fundo amarelo, tipo realce...até mexi no código fazendo a alteração pra tag span, mas aí dá erro na página e não rola.

 

2 - Quando coloco palavras compostas, como por exemplo: "cartão de crédito", ele marca também todos as palavras do texto contendo "de".

 

Será que voccê poderia me dar uma luz?

 

Abração e parabéns pelo script mais uma vez!

Compartilhar este post


Link para o post
Compartilhar em outros sites

StrTexto=Replace(StrTexto, trim(arrayPalavras(j)), "<span style='color: #FF0000;'>"& trim(arrayPalavras(j)) &"</span>")

não entendo pq deu erro, agora o caso é ele destaca "palavras" e não o conjunto delas, como o google!

 

e para funcionar o "cartao de credito" retire essa linha:

StrPalavras = replace(trim(StrPalavras)," ",",")

Compartilhar este post


Link para o post
Compartilhar em outros sites

StrTexto=Replace(StrTexto, trim(arrayPalavras(j)), "<span style='color: #FF0000;'>"& trim(arrayPalavras(j)) &"</span>")

não entendo pq deu erro, agora o caso é ele destaca "palavras" e não o conjunto delas, como o google!

 

e para funcionar o "cartao de credito" retire essa linha:

StrPalavras = replace(trim(StrPalavras)," ",",")

Ted, funcionou a sua dica para palavras compostas! Agora é o seguinte: tu não sabe como eu conseguiria destacar essas palavras-chave como realce de fundo amarelo?

 

Abraços.

 

Já resolvi...valeu mesmo pela ajuda fera!

 

Fique com Deus!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu iria falar que era só questão de CSS, hehe, bom que resolveu, coisa boa!!!!

 

Ted, beleza? Estava pensando aqui o seguinte: será que com esse script a gente conseguiria ressaltar apenas um termo de uma busca? Por exemplo: Quando você pesquisa no google "asp", ele retorna ressaltado o asp da pesquisa e etc...essa é a pergunta que não quer calar...tentei aqui alguns testes, mas todos sem sucesso.

 

Abraços.

 

Já consegui adaptar esse script do Jonathan pra destacar somente o que o usuário pesquisa...valeu e abraços!

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.