Eu sei que já tem alguns tópicos sobre busca aqui no fórum, eu pesquisei, mas nenhum consegue me ajudar (tem um que tem a mesma dúvida mas não foi respondida :S).
Eu tenho um site em que a ÚNICA tabela do BD é a de notícias (ou seja, único conteúdo gerenciável do site). Fazer a busca em notícias eu sei, é fácil. Usando SQL e a cláusula LIKE é sussegado.
O meu problema é quanto ao resto do site. Eu preciso fazer uma busca no CONTEÚDO do site, ou seja, em tudo que tiver de texto em todas as páginas. A minha idéia é criar uma string enorme com várias palavras chaves para cada "área" e depois fazer um "strpos" em cada string.
Basicamente:
$campo = strtolower($_GET["busca"]);;
$str = "sobre empresa informações about us instituição institucional";
$haResult = false;
if(strpos($str, $campo) !== false)
{
echo "Resultado encontrado em 'Sobre'";
$haResult = true;
}
... // fazer isso para as outras áreas do site...
if(!$haResult)
echo "Não foram encontrados resultados para a sua pesquisa.";
Usei algumas palavras em inglês pois o site possui 3 versões (portuguesa, inglesa e espanhola...).
O problema se dá no uso de acentos e "caracteres especiais". Digamos que o usuário busque pela palavra "informações". Pelo teste que eu fiz, o site não acha resultado. Já tentei fazer vários "str_replace" nos acentos e substituir "õ" por "õ", por exemplo, e assim por diante. Vocês tem alguma idéia de como resolver esse problema? A página de busca no caso é incluída (include) pela "index.php".
Na index, eu tenho a seguinte tag:
Pergunta
Vithor
Oi pessoal!
Eu sei que já tem alguns tópicos sobre busca aqui no fórum, eu pesquisei, mas nenhum consegue me ajudar (tem um que tem a mesma dúvida mas não foi respondida :S).
Eu tenho um site em que a ÚNICA tabela do BD é a de notícias (ou seja, único conteúdo gerenciável do site). Fazer a busca em notícias eu sei, é fácil. Usando SQL e a cláusula LIKE é sussegado.
O meu problema é quanto ao resto do site. Eu preciso fazer uma busca no CONTEÚDO do site, ou seja, em tudo que tiver de texto em todas as páginas. A minha idéia é criar uma string enorme com várias palavras chaves para cada "área" e depois fazer um "strpos" em cada string.
Basicamente:
Usei algumas palavras em inglês pois o site possui 3 versões (portuguesa, inglesa e espanhola...). O problema se dá no uso de acentos e "caracteres especiais". Digamos que o usuário busque pela palavra "informações". Pelo teste que eu fiz, o site não acha resultado. Já tentei fazer vários "str_replace" nos acentos e substituir "õ" por "õ", por exemplo, e assim por diante. Vocês tem alguma idéia de como resolver esse problema? A página de busca no caso é incluída (include) pela "index.php". Na index, eu tenho a seguinte tag:E em TODAS as páginas do site eu tenho os acentos feitos na forma HTML, ou seja, 'á' vira 'á'; 'é' vira '&eeacute;'; 'ç' vira 'ç'; e assim por diante.
Alguém ajuda?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.