Correction orthographe via google

Soyez le premier à donner votre avis sur cette source.

Snippet vu 57 542 fois - Téléchargée 32 fois

Contenu du snippet

Exemple d utilisation :
vous avez un petit moteur de recherche sur votre site, si lors d une recherche aucun enregistrement n est trouvé dans votre base de données, vous pouvez inclure ce script pour faire une vérification d orthographe et si nécessaire afficher une proposition.

Source / Exemple :


<head>
<title>Correction d'orthographe via Google</title>
<style>
.texte{ font-family: Arial; font-size: 14px; color: #000000;}
.texte1{ font-family: Arial; font-size: 14px; color: #cc0000;}
.texte2{ font-family: Arial; font-size: 16px; color: #000080; font-weight: bold; text-decoration: underline}.texte2:hover { text-decoration: none; }
</style>
</head>

<?php
$q = "shyqoungounia"; ### mot clé avec une erreur (Chikungunya)
$q_url = urlencode($q);

### recherche la source chez google avec le mot cle erroné
$source = implode ('', file ("http://www.google.fr/search?q=$q_url&hl=fr&lr=lang_fr&sa=N"));

### compte le nombre de 'Essayez avec cette orthographe' dans la source
$nb_proposition = substr_count($source, "Essayez avec cette orthographe");
if($nb_proposition!=0){ # si il y a une proposition, on l'extrait.

### decoupage de $source à 'Essayez avec cette orthographe'
$source = strstr($source, 'Essayez avec cette orthographe');

### decoupage de $source à '<b><i>'
$source = strstr($source, '<b><i>');

$fin_source = strstr($source, '</a>'); # decoupage de $source à '</a>'

### supprimer $fin_source de la chaine $source
$trans = array("$fin_source" => "", "class=spell>" => "", "<b>" => "", "<i>" => "", "</b>" => "", "</i>" => "");
$proposition = strtr($source, $trans);

### formatage de la proposition: urlencode()
$proposition_url = urlencode($proposition);

### affichage du resultat
echo '<a class="texte">Votre recherche : <b>'.$q.'</b></a><br><br><a class="texte1">Essayez avec cette orthographe:
<a class="texte2" href="http://www.ton-site.com/search.php?q=',$proposition_url,'">',$proposition,'</a>';
}
?>

Conclusion :


A utiliser avec modération,
26/06/2009 le script fonctionne.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
8
Date d'inscription
dimanche 31 août 2003
Statut
Membre
Dernière intervention
27 juin 2009

Warning: file(http://www.google.fr/search?q=dcteur&hl=fr&lr=lang_fr&sa=N) [function.file]: failed to open stream: HTTP request failed! HTTP/1.0 503 Service Unavailable in /homez.46/emefonda/www/host/docstrasbourg/recherche.php5 on line 71

Warning: implode() [function.implode]: Invalid arguments passed in /homez.46/emefonda/www/host/docstrasbourg/recherche.php5 on line 71
Messages postés
8
Date d'inscription
dimanche 31 août 2003
Statut
Membre
Dernière intervention
27 juin 2009

Chez moi ça ne fonctionne pas non plus. En regardant le code sur la page GG, j'ai l'impression que class=p est remplacé par class=spell. J'ai changé ça mais ça ne marche pas mieux !!
Messages postés
36
Date d'inscription
vendredi 6 janvier 2006
Statut
Membre
Dernière intervention
27 février 2009

Moi sa fonctionne numero 1 , peut-etre juste trop lent . Je me demande si je devrais l'utilise c'est reelement trop lent . Peut-etre une facon que sa soit plus rapide merci de vouloir m'aider la dessus
Messages postés
52
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
18 septembre 2012

Je ne sais pas si c'est le cas de tout le monde, mais j'ai l'impression que Google interdit désormais les implode() de leurs pages. Voici ce qui est retourné quand on fait un echo($source) :

Nous sommes désolés...

... Votre requête ressemble étrangement à des requêtes automatisées provenant d'un virus informatique ou d'une application de type spyware. Nous devons protéger avant tout nos utilisateurs et ne pouvons traiter votre requête pour l'instant.

Nous rétablirons votre accès le plus rapidement possible. Essayez de nouveau prochainement. Si vous pensez que votre ordinateur ou votre réseau fait l'objet d'une attaque, vous pouvez lancer un utilitaire de détection de virus ou encore un utilitaire de suppression de spyware pour garantir l'intégrité de votre système.

Si cette erreur s'affiche en permanence, vous pouvez résoudre le problème en supprimant votre cookie Google et en vous rendant de nouveau sur le site de Google. Pour obtenir les instructions correspondant à votre navigateur, consultez le centre d'assistance en ligne de votre navigateur.

Si l'ensemble du réseau est affecté, vous trouverez d'autres informations dans le Centre d'aide du service de recherche sur le Web Google.

Nous vous prions de bien vouloir nous excuser pour les désagréments occasionnés et espérons vous revoir sur Google très prochainement.
Messages postés
61
Date d'inscription
dimanche 9 octobre 2005
Statut
Membre
Dernière intervention
30 novembre 2010

SAluté
toute fois si je comprend il y a un passage de requette VIA url se qui est a mon sense un grosse imprudense j ouvre le debat

Sinon , un grand merci a tout ceux qui poste BILIKI bla flouss
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (askmove)