Diriger une recherche en fonction d'un pre-mot-cle

Niniesed Messages postés 5 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007 - 22 déc. 2007 à 13:11
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 24 déc. 2007 à 07:56
Bonjour,

En utilisant un seul champ , je cherche à diriger un utilisateur vers un moteur de recherche en fonction d'un pre-mot-cle qui serait inséré devant la requête.

Exemple de requêtes :

goo ma_recherche : conduira l'utilisateur vers http://www.google.com/search?q=ma_recherche

ya ma_recherche : conduira l'utilisateur vers http://search.yahoo.com/search?p=ma_recherche

ask ma_recherche : conduira l'utilisateur vers http://www.ask.com/web?q=ma_recherche

Je ne vois pas comment y arriver. Est-ce possible? Est-ce compliqué?

Pouvez-vous me donner des pistes de départ?

8 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 déc. 2007 à 13:24
Bonjour,

>>Est-ce possible?
    tout est possible en programmation...
       parfois ce n'est pas simple, parfois ça ne vaut pas le coût...

>>Est-ce compliqué?
    tout dépend     de ce qu'on entend par compliqué !
                             du niveau de celui qui va faire .....

>>Pouvez-vous me donner des pistes de départ?
    >>En utilisant un seul champ
    >>goo ma_recherche : conduira l'utilisateur vers http://www.google.com/search?q=ma_recherche
          remplacer goo par http://www.google.com/search?q=
              et y ajouter  ma_recherche
          après c'est un problème d'appel d'une URL en JavaScript ( ou en HTML )






<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 déc. 2007 à 16:38
bon aller.... un tout ch'tit exemple

 mais à ne pas laisser en l'état !
    il doit être largement revu/amélioré  ( ne serait-ce qu'aux niveaux des contrôles ... )
    ( et probablement conçu autrement )

<script type="text/javascript">
    var quoi=new Array();
    quoi["goo"]="http://www.google.com/search?q=";
    quoi["ya"]="http://search.yahoo.com/search?p=";
    quoi["ask"]="http://www.ask.com/web?q=";
   
    function appel()
    {   var ad=document.getElementById("txt").value.indexOf(" ");
        location.href =
                quoi[document.getElementById("txt").value.substr(0,ad)] +
                document.getElementById("txt").value.substr(ad);
    }
</script>

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Niniesed Messages postés 5 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007
22 déc. 2007 à 16:52
Merci de votre réponse.
Cite>>remplacer goo par http://www.google.com/search?q=
et y ajouter ma_recherche

Mais je recherche justement une fonction qui permettent de le faire.

Il y a plusieurs pre-mot-cle. Donc, le truc c'est d'arriver à diriger sur tel ou tel moteur en fonction du pre-mot-cle : goo %s pour google, ya %s pour yahoo, ...

J'ai lu qu'il y avait l'objet RegExp.
Il s'agirait donc de construire une fonction qui reconnaisse, dans le champs de saisie, la chaîne "goo %s" ou la chaîne "ya %s" ou la chaîne "ask %s", ... Une fois reconnue, elle enverrait le %s en fonction du pre-mot-cle.

Ce que j'ai pu trouver : utiliser ces chaînes:
-"^goo" : chaîne qui commence par "goo"
-"(goo) .*" : chaîne qui commence par "goo" et se termine par n'importe quels caractères.

Une fois que l'expression correspond, la fonction s'exécute. Mais je ne comprends pas bien la mise en place de regexp dans ce cas-ci.
0
Niniesed Messages postés 5 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007
22 déc. 2007 à 17:08
Oups, vous venez de répondre en même temps...

Je ne sais que dire, c'est exactement ce que je cherchais! MERCI MERCI MERCI!
Je ne pensais pas que le code pouvait être aussi court! Mille mercis d'avoir pris la peine de l'écrire !!!

Je n'ose même pas en demander plus. Je vais essayer de l'adapter pour retirer l'"espace" dans le résultat du moteur de recherche. Mais ça va prendre un peu de temps, il faut que je me renseigne, car je ne comprends pas encore tout dans ce code.

Encore merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Niniesed Messages postés 5 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007
23 déc. 2007 à 01:07
Re-Bonjour

Pour le petit problème de l'espace, j'ai trouvé.
Encore merci!!!

Par contre j'aimerais en savoir plus quand vous dites :

>>>mais à ne pas laisser en l'état !
>>>il doit être largement revu/amélioré ( ne serait-ce qu'aux niveaux des contrôles ... )

Je ne comprends pas, en quoi la fonction doit être améliorée? Elle fonctionne parfaitement. Est-ce qu'elle pourrait poser des problèmes dans certains cas précis?

J'aimerais en savoir plus! Merci
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
23 déc. 2007 à 09:48
>>Elle fonctionne parfaitement.
    si on ne commet aucune erreur de saisie
>>Est-ce qu'elle pourrait poser des problèmes dans certains cas précis?
    essayez d'envoyer "goo" ou "toto exemple" ou même ne saisissez rien...
          par exemple.


<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Niniesed Messages postés 5 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 23 décembre 2007
23 déc. 2007 à 13:19
>>si on ne commet aucune erreur de saisie

J'entends bien. Je ne suis pas douée ou plutôt débutante et pourtant je me suis directement dit qu'il suffisait de placer if et else pour résoudre ce soucis...

Je pensais juste qu'il y avais, dans vos mises en garde de départ, quelque chose de plus pernicieux quant aux résultats produits...

Merci d'avoir pris la peine de me répondre!
A bientôt peut-être.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 déc. 2007 à 07:56
>>il suffisait de placer if et else pour
résoudre
    ça ne va guère plus loin. contrôler la saisie.
    rien de vicieux ou de pernicieux.


<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Rejoignez-nous