Função " Você quis dizer: " do Google
Vou deixar aqui duas funções que fazem a mesma coisa, pegam o conteúdo da página do Google quando a pessoa escreve alguma palavra errada e ele sugere a correta, não muito indicado para quem faz pesquisa em banco de dados, pois mesmo se a pessoa escreveu errado, após informar a correta ainda a palavra pode não estar cadastrada em sua base de dados, bom ai vão as funções:
// esta primeira usa curl, pois sei que em alguns hosts a funcao file_get_contents é bloqueada
function voce_quis_dizer($q){
$q = urlencode($q);
$content = "[http://www.google.com/search?hl=pt-BR&q=".$q."";](http://www.google.com/search?hl=pt-BR&q=)
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $content);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$content = ob_get_contents();
ob_end_clean();
if (@preg_match("/voc.\squis\sdizer:\s.+?class=['\"]?p[\"']?>(.+?)<\/a>/i", $content, $palavra)) {
echo "Você quis dizer: ".$palavra[1];
}
}// para usar basta passar a palavra pesquisada:
echo voce_quis_dizer("contedo");
// esta outra faz a mesma coisa mas com file_get_contents
function voce_quis_dizer($q){
$q = urlencode($q);
$content = file_get_contents("[http://www.google.com/search?hl=pt-BR&q=".$q."");](http://www.google.com/search?hl=pt-BR&q=)
if (@preg_match("/voc.\squis\sdizer:\s.+?class=['\"]?p[\"']?>(.+?)<\/a>/i", $content, $palavra)) {
echo "Você quis dizer: ".$palavra[1];
}
}
// para usar basta passar a palavra pesquisada:
echo voce_quis_dizer("contedo");
Ainda tem mais maneiras que não passei aqui, mas acho que estas ja quebram o galho
Att,
Orides.
Discussão (10)
Carregando comentários...