function retorne_primeiro_link_array_pesquisa_inteligente($lista_links, $termo_pesquisa, $host_site)
{
    // globals ----------------------------------------------------------------------------
    global $separador_dados_tabela;
    // separador de dados na tabela
    $busca_exata = retorne_busca_exata();
    // busca exata
    // ----------------------------------------------------------------------------------------
    // link de retorno --------------------------------------------------------------------
    $link_retorno = null;
    // link de retorno
    // ----------------------------------------------------------------------------------------
    // array com termos de pesquisa ------------------------------------
    $array_termos_pesquisa = retorne_array_termos_pesquisa($termo_pesquisa);
    // array com termos de pesquisa
    // ------------------------------------------------------------------------------
    // cria array de links --------------------------------------------------------------
    $array_links = explode($separador_dados_tabela, $lista_links);
    // cria array de links
    // ----------------------------------------------------------------------------------------
    // remove duplicatas se houver ------------------------------------------------
    $array_links = array_unique($array_links);
    // remove duplicatas se houver
    // ----------------------------------------------------------------------------------------
    // verifica se a busca e exata ou parcial ------------------------
    if ($busca_exata == 1) {
        $procurar_ocorrencia_termo = true;
        // busca exata
    } else {
        $procurar_ocorrencia_termo = false;
        // busca nao exata
    }
    // ----------------------------------------------------------------------------
    // varrendo links ------------------------------------------------------------------
    foreach ($array_links as $url_link) {
        // retorna o host da url ----------------------------------------------------------
        $host_url_link = retorna_host_url($url_link);
        // retorna o host da url
        // ----------------------------------------------------------------------------------------
        // termo encontrado dentro de array de links ------------------------------
        if ($host_url_link == $host_site) {
            $resposta_array_contem_link = retorne_array_site_contem_termo_pesquisa($array_termos_pesquisa, $url_link);
            // resposta se o array contem o primeiro link
            $termo_encontrado_resposta = $resposta_array_contem_link[0];
            // termo encontrado dentro de array de links
        } else {
            $termo_encontrado_resposta = false;
            // termo nao encontrado
        }
        // ----------------------------------------------------------------------------------------
        // verifica se o link tem o termo de pesquisa ----------------------------
        if ($termo_encontrado_resposta == $procurar_ocorrencia_termo) {
            // link de retorno ----------------------------------------------------------------
            $link_retorno = $url_link;
            // link de retorno
            // ------------------------------------------------------------------------------------
            // parando laco foreach ------------------------------------------------------
            break;
            // parando laco foreach
            // ------------------------------------------------------------------------------------
        }
        // ----------------------------------------------------------------------------------------
    }
    // ----------------------------------------------------------------------------------------
    // retorno com link ----------------------------------------------------------------
    return $link_retorno;
    // retorno com link
    // ----------------------------------------------------------------------------------------
}
function separa_imagens_busca($imagens_site_geral, $host_site)
{
    global $separador_dados_tabela;
    // separador de dados em tabela
    global $numero_maximo_imagens_host_busca_inteligente;
    // numero maximo de imagens a exibir por host de pesquisa no modo imagens
    $busca_exata = retorne_busca_exata();
    // busca exata
    $termo_pesquisa = termo_pesquisa_get();
    // termo de pesquisa
    $array_termos_pesquisa = retorne_array_termos_pesquisa($termo_pesquisa);
    // array com termos de pesquisa
    $array_imagens = explode($separador_dados_tabela, $imagens_site_geral);
    // array de dados de imagens
    $array_imagens = array_unique($array_imagens);
    // removendo duplicatas
    $contador = 0;
    // contador de resultados encontrados
    if ($busca_exata == 1) {
        $procurar_ocorrencia_termo = true;
        // busca exata
    } else {
        $procurar_ocorrencia_termo = false;
        // busca nao exata
    }
    foreach ($array_imagens as $url_imagem) {
        $host_imagem = retorna_host_url($url_imagem);
        // host de imagem
        if ($host_imagem == null) {
            $url_imagem = "http://" . $host_site . "/" . $url_imagem;
            // completa url de imagem em caso de host nulo
        }
        $titulo_imagem = basename($url_imagem);
        // titulo da imagem
        if ($host_imagem != null) {
            $imagem_encontrada .= "<a href='{$url_imagem}' target='_blank'>";
            // imagem encontrada
            $imagem_encontrada .= "<img class='imagem_resposta_busca_inteligente' src='{$url_imagem}' alt='{$titulo_imagem}' title='{$titulo_imagem}'>";
            // imagem encontrada
            $imagem_encontrada .= "</a>";
            // imagem encontrada
        }
        $titulo_imagem = strtolower($titulo_imagem);
        // converte titulo de imagem para minusculo
        $termo_encontrado_resposta = retorne_array_site_contem_termo_pesquisa($array_termos_pesquisa, $url_imagem);
        // termo encontrado dentro de array de links
        $termo_encontrado_resposta = $termo_encontrado_resposta[0];
        // verifica se encontrou o link da imagem
        if ($termo_encontrado_resposta == $procurar_ocorrencia_termo) {
            $imagem_completa .= $imagem_encontrada;
            // imagem completa
            $contador++;
            // atualiza o contador
            if ($contador >= $numero_maximo_imagens_host_busca_inteligente) {
                return $imagem_completa;
                // retorno
            }
        }
        $imagem_encontrada = null;
        // limpando
    }
    return $imagem_completa;
    // retorno
}
function retorna_query_pesquisa($termo_pesquisa)
{
    // globals ------------------------------------------------------------------
    global $tamanho_limite_busca_inteligente_query;
    // este e o tamanho limite na busca query, isto evita uma busca desnecessaria em todo o banco de dados
    $pagina_numero = pagina_atual_get();
    // numero da pagina atual
    // ------------------------------------------------------------------------------
    // tabela ---------------------------------------------------------------------
    $tabela = retorne_tabela_salvar_site();
    // tabela
    // ------------------------------------------------------------------------------
    // pega pagina atual ----------------------------------------------------
    $pagina_atual = $pagina_numero;
    // pega pagina atual
    // ------------------------------------------------------------------------------
    // verifica se pagina atual e valida ----------------------------------
    if ($pagina_atual == null or is_numeric($pagina_atual) == false or $pagina_atual < 0) {
        // zera contadores de pagina ------------------------------------------
        $pagina_atual = 0;
        // zera contadores de pagina
        $pagina_numero = 0;
        // zera contadores de pagina
        // ------------------------------------------------------------------------------
    }
    // ------------------------------------------------------------------------------
    // calculando limite de query ------------------------------------------
    $query_limite_inicio = $pagina_numero * $tamanho_limite_busca_inteligente_query;
    // inicio de query
    $query_limite_fim = $tamanho_limite_busca_inteligente_query;
    // fim de query
    // ------------------------------------------------------------------------------
    // condicao de limite ------------------------------------------------------
    $condicao_limite = "LIMIT {$query_limite_inicio}, {$query_limite_fim}";
    // condicao de limite
    // ------------------------------------------------------------------------------
    // array com termos de pesquisa ------------------------------------
    $array_termos_pesquisa = retorne_array_termos_pesquisa($termo_pesquisa);
    // array com termos de pesquisa
    // ------------------------------------------------------------------------------
    // numero de termos de pesquisa ----------------------------------
    $numero_termos_pesquisa = count($array_termos_pesquisa);
    // numero de termos de pesquisa
    // ------------------------------------------------------------------------------
    // contador de termos de pesquisa --------------------------------
    $contador_termos_pesquisa = 1;
    // contador de termos de pesquisa
    // ------------------------------------------------------------------------------
    // campos de pesquisa geral -----------------------------------------
    if (retorne_modo_pesquisa() == 1) {
        // links ------------------------------------------------------------------------
        $campos_tabela_pesquisar[0] .= "host_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or url_pagina like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or titulo_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or keywords_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or description_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or links_internos_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or links_externos_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or conteudo_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        // ------------------------------------------------------------------------------
    } else {
        // imagens ------------------------------------------------------------------
        $campos_tabela_pesquisar[0] .= "host_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or url_pagina like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or titulo_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or keywords_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or description_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or imagens_site_geral like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        $campos_tabela_pesquisar[0] .= "or conteudo_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        // ------------------------------------------------------------------------------
    }
    // ------------------------------------------------------------------------------
    // campos de pesquisa geral -----------------------------------------
    if (retorne_modo_pesquisa() == 1) {
        // links ------------------------------------------------------------------------
        $campos_tabela_pesquisar[1] .= "links_internos_site like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        // ------------------------------------------------------------------------------
    } else {
        // imagens ------------------------------------------------------------------
        $campos_tabela_pesquisar[1] .= "imagens_site_geral like '%{$termo_pesquisa}%' ";
        // campos de pesquisa
        // ------------------------------------------------------------------------------
    }
    // ------------------------------------------------------------------------------
    // campos de pesquisa ------------------------------------------------
    if ($numero_termos_pesquisa == 1) {
        // campos de pesquisa ------------------------------------------------
        if (retorne_busca_exata() == 1) {
            // links ------------------------------------------------------------------------
            $campos_pesquisa = $campos_tabela_pesquisar[1];
            // exata
            // ------------------------------------------------------------------------------
        } else {
            // imagens ------------------------------------------------------------------
            $campos_pesquisa = $campos_tabela_pesquisar[0];
            // todos
            // ------------------------------------------------------------------------------
        }
        // ------------------------------------------------------------------------------
    } else {
        // obtendo termos de pesquisa de array --------------------------
        foreach ($array_termos_pesquisa as $termo_pesquisa_array) {
            // verifica se termo pesquisa possui conteudo ------------------
            if ($termo_pesquisa_array != null) {
                // campos de pesquisa ------------------------------------------------
                if (retorne_busca_exata() == 1) {
                    // modo de pesquisa ---------------------------------------------------
                    if (retorne_modo_pesquisa() == 1) {
                        // link --------------------------------------------------
                        if ($contador_termos_pesquisa == 1) {
                            // atualiza contador -------------------------------
                            $contador_termos_pesquisa++;
                            // atualiza contador
                            // -------------------------------------------------------
                            // campos de pesquisa --------------------------
                            $campos_pesquisa = " links_internos_site like '%{$termo_pesquisa_array}%' ";
                            // campos de pesquisa
                            // -------------------------------------------------------
                        } else {
                            // campos de pesquisa --------------------------
                            $campos_pesquisa .= "or links_internos_site like '%{$termo_pesquisa_array}%' ";
                            // campos de pesquisa
                            // -------------------------------------------------------
                        }
                        // --------------------------------------------------------
                    } else {
                        // imagem --------------------------------------------
                        if ($contador_termos_pesquisa == 1) {
                            // atualiza contador -------------------------------
                            $contador_termos_pesquisa++;
                            // atualiza contador
                            // --------------------------------------------------------
                            // campos de pesquisa --------------------------
                            $campos_pesquisa = " imagens_site_geral like '%{$termo_pesquisa_array}%' ";
                            // campos de pesquisa
                            // --------------------------------------------------------
                        } else {
                            // campos de pesquisa --------------------------
                            $campos_pesquisa .= "or imagens_site_geral like '%{$termo_pesquisa_array}%' ";
                            // campos de pesquisa
                            // --------------------------------------------------------
                        }
                        // --------------------------------------------------------
                    }
                    // --------------------------------------------------------
                } else {
                    // modo de pesquisa ---------------------------------------------------
                    if (retorne_modo_pesquisa() == 1) {
                        // aplica une tabelas ------------------------------
                        if ($contador_termos_pesquisa == 1) {
                            // atualiza contador -------------------------------
                            $contador_termos_pesquisa++;
                            // atualiza contador
                            // -------------------------------------------------------
                            // codigo unir tabelas ----------------------------
                            $une_tabelas = "or ";
                            // codigo unir tabelas
                            // -------------------------------------------------------
                        } else {
                            // codigo unir tabelas ----------------------------
                            $une_tabelas = null;
                            // codigo unir tabelas
                            // -------------------------------------------------------
                        }
                        // --------------------------------------------------------
                        // campos de pesquisa --------------------------
                        $campos_pesquisa .= "host_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or url_pagina like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or titulo_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or keywords_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or description_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or links_internos_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or links_externos_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or conteudo_site like '%{$termo_pesquisa_array}%' {$une_tabelas}";
                        // campos de pesquisa
                        // -------------------------------------------------------
                    } else {
                        // aplica une tabelas ------------------------------
                        if ($contador_termos_pesquisa == 1) {
                            // atualiza contador -------------------------------
                            $contador_termos_pesquisa++;
                            // atualiza contador
                            // -------------------------------------------------------
                            // codigo unir tabelas ----------------------------
                            $une_tabelas = "or ";
                            // codigo unir tabelas
                            // -------------------------------------------------------
                        } else {
                            // codigo unir tabelas ----------------------------
                            $une_tabelas = null;
                            // codigo unir tabelas
                            // -------------------------------------------------------
                        }
                        // --------------------------------------------------------
                        // campos de pesquisa --------------------------
                        $campos_pesquisa .= "host_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or url_pagina like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or titulo_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or keywords_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or description_site like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or imagens_site_geral like '%{$termo_pesquisa_array}%' ";
                        // campos de pesquisa
                        $campos_pesquisa .= "or conteudo_site like '%{$termo_pesquisa_array}%' {$une_tabelas}";
                        // campos de pesquisa
                        // --------------------------------------------------------
                    }
                    // --------------------------------------------------------
                }
                // ------------------------------------------------------------------------------
            }
            // ------------------------------------------------------------------------------
        }
        // ------------------------------------------------------------------------------
    }
    // ------------------------------------------------------------------------------
    // querys de retorno -----------------------------------------------------
    $querys_retorno[0] = "select *from {$tabela} where {$campos_pesquisa} {$condicao_limite};";
    // limite
    $querys_retorno[1] = "select *from {$tabela} where {$campos_pesquisa};";
    // completa
    // ------------------------------------------------------------------------------
    // retorno -------------------------------------------------------------------
    return $querys_retorno;
    // retorno
    // ------------------------------------------------------------------------------
}
function criar_tags_busca_inteligente()
{
    // globals ------------------------------------------------------------------
    $modo_pesquisa = retorne_modo_pesquisa();
    // modo de pesquisa
    global $nome_do_sistema;
    // nome do sistema
    // ----------------------------------------------------------------------------
    // termo de pesquisa --------------------------------------------------
    $termo_pesquisa = termo_pesquisa_get();
    // termo de pesquisa
    // ----------------------------------------------------------------------------
    // array com termos de pesquisa ----------------------------------
    $array_termos_pesquisa = retorne_array_termos_pesquisa($termo_pesquisa);
    // array com termos de pesquisa
    // ----------------------------------------------------------------------------
    $lista_retorno_tags = null;
    // links de retorno com tags de pesquisa
    // obtendo termos de pesquisa de array ------------------------
    foreach ($array_termos_pesquisa as $termo_pesquisa_array) {
        // url de pesquisa ------------------------------------------------------
        $url_termo_pesquisa = "index.php?termo_pesquisa={$termo_pesquisa_array}&modo_pesquisa={$modo_pesquisa}&busca_exata=1";
        // url com termo de pesquisa
        // ----------------------------------------------------------------------------
        // atualiza lista de retorno --------------------------------------------
        if (strlen($termo_pesquisa_array) > 3) {
            $lista_retorno_tags .= "<a href='{$url_termo_pesquisa}' title='{$termo_pesquisa_array}' class='btn btn-primary btn-xs'>{$termo_pesquisa_array}</a>";
            // atualizando lista
            $lista_retorno_tags .= "&nbsp;";
            // atualizando lista
        }
        // ----------------------------------------------------------------------------
    }
    // ----------------------------------------------------------------------------
    // div de retorno --------------------------------------------------------
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "<div class='div_sugestoes_pesquisa_inteligente'>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "<font size='5'>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "Sugestões de pesquisa do {$nome_do_sistema}";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "</font>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "<br>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "Se você não encontrou o que queria, clique numa das sugestões abaixo.";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "<br>";
    // div de retorno
    $div_retorno .= "<br>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= $lista_retorno_tags;
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "</div>";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    $div_retorno .= "";
    // div de retorno
    // ----------------------------------------------------------------------------
    // retorno ------------------------------------------------------------------
    return $div_retorno;
    // retorno
    // ----------------------------------------------------------------------------
}