Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1286 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Expression régulière pour moteur de recherche...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Expression régulière pour moteur de recherche...

n°1606326
Profil sup​primé
Posté le 30-08-2007 à 15:21:27  answer
 

'lo... [:dawa]
 
Suis en train de me débattre avé un moteur de recherche en PHP, histoire que la chaîne de recherche entrée par l'utilisateur voie tous ses termes sagement balancés dans un array...
... oui mais voilà, une suite de mots entrée entre guillemets doubles ne doit compter que comme UN terme...
 
Exemple de ce que tape l'utilisateur :
parthénogenèse poulpes "Cocotta deconnans deconnans"
 
Faudrait que j'obtienne un array à 3 valeurs : 1/parthénogenèse, 2/ poulpes, 3/ "Cocotta deconnans deconnans"
 
J'ai zieuté du côté de preg_split (mais je vois pas comment faire ça en une seule passe), et avec preg_match_all je me coltine des erreurs "] Unknown delimiter" :heink:
 
exemple :

preg_match_all("|\"[^\"]+\"|[^\s\"]+|U", $recherche, $termes);


 
Quelqu'un aurait une idée de génie ? j'ai l'impression de vouloir la lune :D

mood
Publicité
Posté le 30-08-2007 à 15:21:27  profilanswer
 

n°1606355
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-08-2007 à 15:50:44  profilanswer
 

derrière c'est pour faire quoi? mettre ça dans une requete? sur quelle base?
 
Nan  parce que si c'est du mysql tu ferais mieux de faire un match against et de pas t'ennuyer.

n°1606366
Profil sup​primé
Posté le 30-08-2007 à 16:06:14  answer
 

anapajari a écrit :

derrière c'est pour faire quoi? mettre ça dans une requete? sur quelle base?
 
Nan  parce que si c'est du mysql tu ferais mieux de faire un match against et de pas t'ennuyer.


Oui, mais en cas de 0 résultat, faut pouvoir faire des recherches sur chaque élément séparément, donc ça revient au même au final :D

n°1606397
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-08-2007 à 16:39:22  profilanswer
 

euh ... naaaan :)
 
tu fais

Code :
  1. SELECT
  2. ...
  3. WHERE (tonChamps) match against ('parthénogenèse poulpes "Cocotta deconnans deconnans"' IN BOOLEAN mode)


ça va te remonter les résultats qui contiennent au moins une des expressions, tout en triant celles qui en contiennent le plus en premier.
 
Voir la doc: http://dev.mysql.com/doc/refman/5. [...] olean.html

n°1606456
Profil sup​primé
Posté le 30-08-2007 à 17:38:13  answer
 

OK donc c la merde, pas moyen de faire pile ce qu'il me fallait...
Tant pis, merci :jap:

n°1606524
Bouchon2
Crabe glauque
Posté le 30-08-2007 à 20:15:05  profilanswer
 

La technique à utiliser c'est d'utiliser preg_match en mode ungreedy (dégloutonné) sur un masque très simple, par exemple : '/"(.*)"/U'


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Expression régulière pour moteur de recherche...

 

Sujets relatifs
extension web *.ep et zone saisie de recherche dans une newslettercréation formulaire de recherche
recherche un pro en PHP[Recherche pour Projet]
help sur une expression régulièreRésultats d'une recherche et retour arriere navigateur
[Résolu] Recherche de données dans différentes feuilles ExcelURGANT(recherche un Codeur de site web le principale)(qui et fan de st
[JS] Aide pour une petite expression régulière 
Plus de sujets relatifs à : Expression régulière pour moteur de recherche...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR