Busca no site sem Banco de Dados com PHP

Nessa video aula vamos fazer uma busca sem banco de dados(Sim, isso é possível). É uma dúvida bem pertinente, que iremos sanar nessa video aula. Se você tem um site, e quer colocar uma busca, chegou o momento, rs. Espero que gostem, e comentem.




Se o conteúdo foi relevante para você, e desejar, você pode incentivar fazendo uma doação.

Publicado em PHP

45 thoughts on “Busca no site sem Banco de Dados com PHP

  1. Boa tarde David, assisti sua vídeo aula sobre busca no site sem banco de dados em PHP. Testei aqui e funcionou perfeitamente. Queria uma ajuda sua em uma única coisa, retornar o resultado da busca pegando o title das páginas e não o nome do arquivo como está em sua vídeo aula. Desde já agradeço a ajuda. Grande abraço.

    1. Alex, isso vai depender como vc tá montando a pagina para pesquisar. Se vc tá colocando toda a pagina, com o a tag title, vc usar expressão regular para pegar, dessa maneira

      preg_match('/<title>([^<]++)/', $conteudo, $saida);
      echo 'Titulo '.$saida[1];
      
  2. David, estou usando seu código mas tenho uma dúvida: como faço para a pesquisa exibir, ao invés do nome da página, uma tag específica dentro dela?

      1. David, apareceu o seguinte erro:

        Notice: Undefined offset: 0 in C:\wamp\www\GCC_website\port\busca\index.php on line 72

        Linha 72:

        $result[] = “$url[0]“;

        Isso tem a ver com o fato de eu estar usando array_merge na busca?

        1. Marcelo, o array_merge é para juntar array’s, se vc está utilizando para essa finalidade, e os dados adicionados são array, então está certo.

  3. David, desculpe insistir, mas não sei o que estou fazendo de errado para dar esse erro. Olha como está a parte do script onde pego a tag:

    $arquivo = file_get_contents($item);
    preg_match(“/()(\w.*)()/s”, $arquivo, $url);
    $result[] = ‘‘.$url[0].’‘;

    1. Mas no caso vc tá tentando pegar uma tag ? Vc precisa verificar se esse item existe. Exemplo:

        $arquivo = file_get_contents($item);
        $regex = "/<h1>([\w\W]*?)<\/h1>/";
        preg_match($regex, $arquivo, $url);
        $result[] = isset($url[0]) ? $url[0] : null;
      
      1. David, troquei o código como você mostrou mas tenho uma dúvida: Como volto a usar o $result como link?

        //$result [] = ‘‘.$url[0].’‘;

        Outra coisa: estou usando //$total = count($result); para exibir os resultados, mas em algumas pesquisas ele acusa sempre um resultado a mais do que os itens mostrados na lista.

  4. David, no meu não funciona, fiz exatamente como na aula, mudei apenas a pasta “arquivos” para “paginas”, o meu input busca está em um include “topo”.

  5. Boa tarde David, assisti sua vídeo aula sobre busca no site sem banco de dados em PHP, mas não estou conseguindo fazer dar certo. Eu não estou usando querystring. Os resultados são exibidos numa página com o nome busca. Todos os arquivos para busca se encontram na raíz. então a minha dúvida é como posso fazer na parte de definir a pasta onde está os arquivos da pesquisa, o atual, a listagem dos arquivos da pasta indicada, e atribuir a um array.
    Agradeço a ajuda. Grande abraço.

  6. Olá David! Eu testei aqui no meu PHP e não funcionou 🙁
    Ele dá vários Warnings, Notices e até um Fatal Error.
    Testei várias vezes, repeti a video-aula mas nao vai. Tem algum lugar onde posso baixar os arquivos? Procurei no fórum do MxMasters mas nao achei…
    Por favor me mande o link
    Abraço

  7. David, como sempre você é o cara!

    Tem como fazer varredura em várias pasta invés de uma só? Como ficaria?
    Outra dúvida criei um arquivo busca.php para imprimir o resultado nela mas não funfa. como devo proceder?

    Abraços!!

  8. Grande David de Macaé…

    Me ajude ai meu amigo, sou iniciante, já tentei mas a única maneira de eu aprender fazer isto seria você enviar todo o conteúdo por E-mail, pra mim ir destrinchando e estilizando do meu modo.
    Inclusive a página teste que você criou.

    Parabéns e um Abraço!

      1. Blz David ficou bom,

        Consegui fazer a pesquisa na raiz e sem usar Querystring,
        só não sei como colocar trecho do conteúdo no resultado da pesquisa.
        Lembrando que sou apenas um curioso qualquer dica vale muito!

        ABRAÇO!

        1. Me esqueci,
          E como fazer a busca ler em uma específica na página?
          Esta lendo tudo, até menu topo e menu produtos (a página em que estou testando), assim o usuário teria muitas páginas em seu resultado.
          Por exemplo “cachimbo” todas as páginas tem o nome cachimbo.

          ABRAÇO MAIS UMA VEZ!

  9. Boa Noite Davi, tudo bem? Na verdade Boa Madrugada…rsrs

    Então, antes de perguntar e sanar minha dúvida, quero parabenizar a você por nos ajudar com seus conhecimentos, e muito além disso, a sua dedicação em estar sempre postando algo novo. Muito boa sua didática, parabéns!

    A dúvida é a seguinte: Tenho várias paginas e todas elas, eu chamo funções, exemplo:

    Só que desta forma, a busca nunca obtém resultado. Então resolvi fazer um teste, e fiz uma página teste desta maneira:

    Carro, Fruta, Produtos e etc…

    Desta segunda forma, funciona. Já tentei usar $_SERVER[‘HTTP_HOST’] para sanar o problema com as funções, porém, sem sucesso.

    Pode me indicar uma solução, porque na internet, não encontrei nada parecido.

    Desde já obrigado. Abraço!

  10. Davi, não sei porque não foi, mas a maneira que da errado, eu chamo as funções assim:

    nomedafuncao();

    E na outra maneira, funciona eu inserindo as palavras Carro, Frutas, Produtos dentro do corpo do site.

    Desculpa por postar duas vezes.

    Abraço!

  11. Boa Noite David,

    apenas um comentário: SENSACIONAL, funcionou perfeitamente.

    Eu tenho tido meus conhecimentos em crescente evolução graças a sua didática e dedicação em suas postagem.

    Parabéns…. 🙂

    Abraço!

  12. Já procurei aqui na net e não sei
    Estou fazendo meu carrinho e estou com uma duvida, tem como fazer o carrinho já mostrando os produtos que tem no banco, sem mostrar os produtos separadamente com a opção de ‘comprar?
    Por favor me ajudem. Urgentee!

  13. Bom dia, pesquisando sobre Busca no site sem Banco de Dados, achei este site, porém, não consigo ver o vídeo e os links para baixar os código estão quebrados. Por favor, podem me ajudar?

    1. Não tenho mais essa videoaula, pq estava no videolog, e ele não existe mais. Mas nos comentários vc encontra alguns exemplos de scripts pra gerar essa busca.

      1. Muito bom David, sou o pia do site da bíblia lembra ? Eu estava tendo problemas com o layout responsivo, ai resolvi mudar radicalmente o layout, porem eu gostava mais do outro, se quiser dar uma olhada.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *