Expression régulière pour moteur de recherche... - PHP - Programmation
Marsh Posté le 30-08-2007 à 15:50:44
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.
Marsh Posté le 30-08-2007 à 16:06:14
anapajari a écrit : derrière c'est pour faire quoi? mettre ça dans une requete? sur quelle base? |
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
Marsh Posté le 30-08-2007 à 16:39:22
euh ... naaaan
tu fais
Code :
|
ç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
Marsh Posté le 30-08-2007 à 17:38:13
OK donc c la merde, pas moyen de faire pile ce qu'il me fallait...
Tant pis, merci
Marsh Posté le 30-08-2007 à 20:15:05
La technique à utiliser c'est d'utiliser preg_match en mode ungreedy (dégloutonné) sur un masque très simple, par exemple : '/"(.*)"/U'
Marsh Posté le 30-08-2007 à 15:21:27
'lo...
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"
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