WRInaute occasionnel
Bonjour,
Je code un mini moteur pour rechercher des images dans ma base de donnée.
J'ai une question sur mon code PHP.
J'utilise str_replace pour éliminer des mots inutiles de la requête tapée par l'utilisateur :
-J'ajoute des espaces autour de la requête.
-je supprime les mots indésirables quand ils sont entourés d'espaces.
-je supprime les espaces autour de la requête.
Je sais que les regex seraient une meilleure solution et je compte régler ça.
Mais j'ai un problème persistant. Le moteur permet de faire trois types de recherches :
-rechercher chaque mot (brique OU rouge -> tous les 'brique' et tous les 'rouge')
-rechercher le groupe de mot (comme %brique rouge% qui englobe aussi par exemple brique rouge jaune)
-rechercher l'expression exacte
Dans le premier type de recherche, il y a un problème : si l'utilisateur tape 2 espaces, le moteur recherche toutes les colonnes du champ de la bdd qui contiennent un espace.
Comment remplacer une suite d'espaces dont on ne connait pas le nombre d'espaces pour la remplacer par un seul espace ?
Merci !
Je code un mini moteur pour rechercher des images dans ma base de donnée.
J'ai une question sur mon code PHP.
J'utilise str_replace pour éliminer des mots inutiles de la requête tapée par l'utilisateur :
-J'ajoute des espaces autour de la requête.
-je supprime les mots indésirables quand ils sont entourés d'espaces.
-je supprime les espaces autour de la requête.
Je sais que les regex seraient une meilleure solution et je compte régler ça.
Mais j'ai un problème persistant. Le moteur permet de faire trois types de recherches :
-rechercher chaque mot (brique OU rouge -> tous les 'brique' et tous les 'rouge')
-rechercher le groupe de mot (comme %brique rouge% qui englobe aussi par exemple brique rouge jaune)
-rechercher l'expression exacte
Dans le premier type de recherche, il y a un problème : si l'utilisateur tape 2 espaces, le moteur recherche toutes les colonnes du champ de la bdd qui contiennent un espace.
Comment remplacer une suite d'espaces dont on ne connait pas le nombre d'espaces pour la remplacer par un seul espace ?
Merci !