Implementando ferramenta de busca em seu site
Realce os termos encontrados e encontre palavras sem acentos no resultado da busca
Este POST é ideal para quem está implementando alguma ferramenta de busca, semelhante à esta aqui que eu criei no Instituto Chiavenato.
1. Diferenças entre palavras com e sem acentuação
Digamos que você precisa trazer resultados SQL os usuários que mora no Estado de São Paulo.
SELECT * FROM USUARIOS WHERE ESTADO='São Paulo'
Mas e pra quem mora em cidade como Sao Paulo, sao paulo (em minúsculo mesmo), sáo paulo, são páulo, etc ?
Para isso existe o Collation LATIN1_GENERAL_CI_AI, na qual traz os resultados, indiferente se os mesmos possuem acentos ou não.
SELECT * FROM USUARIOS WHERE ESTADO COLLATE LATIN1_GENERAL_CI_AI LIKE 'São Paulo'
Este método é ideal mesmo quando já estabeleceu os Collations na contrução das tabelas.
2. O realce nas buscas
O usuário digitou "Lorem Ipsum" em sua ferramenta de busca. Surge então o seguinte resultado:
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum dolor sit amet, consectetuer adipiscing elit.
Para isso, é necessário saber sério???kkk o que o usuário digitou. Depois, dar um Replace com os parâmetros 1, -1, 1 na qual utiliza-se para não diferenciar caracteres
maiúsculos de caracteres minúsculos.
<%
DIGITADO = "Lorem Ipsum"
TEXTO = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum dolor sit amet, consectetuer adipiscing elit."
TEXTO_FINAL = Replace(TEXTO, DIGITADO, "<span style=""font-weight:bold;background-color:#ffff00;padding:1px 0px;"">" & DIGITADO & "</span>", 1, -1, 1)
Response.write TEXTO_FINAL
%>
Eu só ainda não achei uma solução para realçar palavras com ou sem acentuação.