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

Signaler
Messages postés
5
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
23 décembre 2007
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
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

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
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»
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
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»
Messages postés
5
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
23 décembre 2007

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.
Messages postés
5
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
23 décembre 2007

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!
Messages postés
5
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
23 décembre 2007

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
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>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»
Messages postés
5
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
23 décembre 2007

>>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.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>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»